MISRA C++:2008 Rule 5-0-18
>, >=, <, <= shall not be applied to objects of pointer type, except where they point to the same array.
説明
ルール定義
>, >=, <, <= shall not be applied to objects of pointer type, except where they point to the same array. 1
根拠
配列の要素を指す 2 つのポインターを比較する場合、結果は相対的なポインターの位置になります。ポインターが null または異なる配列の要素を指している場合、比較演算は未定義です。
配列要素を指すポインター間で >、>=、< または <= を使用する前に、それらのポインターが非 null であり同じ配列を指していることをチェックします。
Polyspace 実装
Polyspace® は、それぞれ異なる配列の要素を指すポインターの間での >、>=、<、または <= 演算子の使用にフラグを設定します。
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: Expressions |
| カテゴリ: 必要 |
バージョン履歴
R2013b で導入1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.