AUTOSAR C++14 Rule A5-2-2
Traditional C-style casts shall not be used
説明
ルール定義
従来の C スタイルのキャストを使用してはなりません。
根拠
C スタイルのキャストは、ソース コード内での区別が困難です。このようなキャストでは、変換の目的と必要性が明確に伝わりません。C スタイルのキャストを含むコードは、理解やデバッグが困難です。
C スタイルのキャストは避けてください。C++ では、識別が容易で、各キャストの目的と必要性が明確に伝わる、明示的なキャスト操作が導入されています。代わりに、以下のキャスト操作を使用してください。
Polyspace 実装
Polyspace® は、コード内の C スタイルのキャストと関数表記のキャストにフラグを設定します。準拠した C++ スタイルのキャスト操作には以下が含まれます。
std::static_caststd::reinterpret_caststd::const_caststd::dynamic_cast{}表記のキャスト
Boost ライブラリからの reference_cast 操作と Microsoft® ライブラリからの safe_cast 操作も許可されます。
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 式 |
| カテゴリ: Required、Automated |