>
>
>
V3533. AUTOSAR. Expression containing i…


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

Данное диагностическое правило основано на руководстве AUTOSAR (AUTomotive Open System ARchitecture) по разработке программного обеспечения.

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

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

i = ++i + i--;

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

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

  • AUTOSAR-M5.2.10