AUTOSAR C++14 Rule A6-5-3
Do statements should not be used
説明
ルール定義
Do statements should not be used.
根拠
do ステートメントの終了条件はコード ブロックの実行後にチェックされるため、このステートメントを使用するとコード内のバグにつながる可能性があります。do-while ループ内でポインターを使用して配列にアクセスする、次のコードについて考えます。
int* array;
//...
do {
cout<<*array;
--array;
} while (array != nullptr); コード内での do ステートメントの使用を避けてください。do ステートメントを使用して、関数形式のマクロを作成できます。
Polyspace 実装
Polyspace® は、マクロ内にあるものを除き、すべての do ステートメントにフラグを設定します。
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: ステートメント |
| カテゴリ: Advisory、Automated |
バージョン履歴
R2020b で導入