AUTOSAR C++14 Rule A9-3-1
Member functions shall not return non-constant "raw" pointers or references to private or protected data owned by the class
説明
ルール定義
Member functions shall not return non-constant "raw" pointers or references to private or protected data owned by the class.
根拠
プライベートまたは保護されているクラス所有データへの非定数ポインターまたは参照を返すと、クライアントがインターフェイスを使用せずに外部からオブジェクトにアクセスして、オブジェクトの状態を変更することが可能になります。明示的なインターフェイスを使用しないこのようなアクセスでは、クラスのプライベート/保護されているデータ アクセス階層がバイパスされる可能性があります。その結果、予期しない動作やバグにつながる可能性があります。
このルールは、クラスにより所有されるデータに適用されます。異なるクラス間で共有されているオブジェクトへの非定数ハンドルが返される可能性があります。スマート ポインターとコンテナーを模倣するクラスは、このルールに違反しません。
Polyspace 実装
チェッカーは、メンバー関数が非静的データ メンバーへの非 const のポインターまたは参照を返す場合のみ、ルール違反にフラグを設定します。このルールは静的データ メンバーには適用されません。
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: クラス |
| カテゴリ: Required、Partially automated |
バージョン履歴
R2019a で導入