MISRA C++:2008 Rule 6-6-5

Функция должна иметь одну точку выхода в конце функции

Описание

Управляйте определением

Функция должна иметь одну точку выхода в конце функции.

Объяснение

Это правило требует что return оператор должен произойти как последний оператор в теле функции. В противном случае следующие проблемы могут произойти:

  • Код после return оператор может быть непреднамеренно не использован.

  • Если функция, которая изменяет некоторые ее аргументы, имеет ранний return операторы, при чтении кода, это не сразу понятно, какие модификации на самом деле происходят.

Реализация Polyspace

Средство проверки отмечает эти ситуации:

  • Функция имеет больше чем один return оператор.

  • non-void функция имеет один return оператор только, но return оператор не является последним оператором в функции.

void функционируйте не должен иметь return оператор. Если return оператор существует, это не должен быть последний оператор в функции.

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

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

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

Группа: операторы
Категория: необходимый

Введенный в R2013b