exponenta event banner

AUTOSAR C++14 Rule A6-5-2

Цикл for должен содержать один контур-счетчик, который не должен иметь тип с плавающей точкой

Описание

Определение правила

Цикл for должен содержать один контур-счетчик, который не должен иметь типа с плавающей точкой.

Реализация Polyspace

Шашка помечает такие ситуации:

  • The for индекс цикла имеет тип с плавающей точкой.

  • В for приращивается более одного счетчика цикла оператор шага цикла.

    Для образца:

    for(i=0, j=0; i<10 && j < 10;i++, j++) {}

  • The for отсутствует оператор шага цикла.

    Для образца:

    for(i=0; i<10;) {}

    Даже если вы увеличиваете счетчик цикла в теле цикла, шашка все равно поднимает нарушение. Правило основано на MISRA® Правило C++ 6-5-1. Согласно спецификациям MISRA C++, счетчик цикла является счетчиком, который инициализируется в или перед выражением цикла, действует как операнд реляционному оператору в выражении цикла и изменяется в выражении цикла. Если оператор шага в выражении цикла отсутствует, чекер не может найти изменение счетчика цикла и рассматривает, как если бы счетчик цикла отсутствовал.

Поиск и устранение проблем

Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».

Проверяйте информацию

Группа: Операторы
Категория: Необходимый, Автоматизированный
Введенный в R2019a