Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
V2554. MISRA. Expression containing...
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V2554. MISRA. Expression containing increment (++) or decrement (--) should not have other side effects.

02 Сен 2019

Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.

Не рекомендуется использование декремента (--) или инкремента (++) в одном выражении с другими операторами. Использование этих операторов в выражении, содержащем сторонние побочные эффекты приводит к ухудшению читаемости кода, а также может привести к возникновению неопределенного поведения (undefined behaviour). Безопасным подходом будет использование рассматриваемых операторов в отдельных выражениях.

Пример кода, на который анализатор выдаст предупреждение:

i = ++i + i--;

Здесь происходит попытка изменить одну переменную в пределах одной точки следования. Это приводит к неопределенному поведению (undefined behaviour).

Данная диагностика классифицируется как:

  • MISRA-C-13.3
  • MISRA-CPP-5.2.10