AUTOSAR C++14 Rule A18-1-2
The std::vector<bool> specialization shall not be used
説明
ルール定義
特殊化 std::vector<bool> を使用してはなりません。
根拠
bool 型に対する std::vector の特殊化は、処理系定義の手法においては容量を効率的に使用することになるかもしれません。たとえば、std::vector<bool> は、必ずしも要素を連続する配列として格納するわけではありません。その特殊化が、すべての標準テンプレート ライブラリ (STL) アルゴリズムで期待どおりに動作することはありません (要素の連続シーケンスを返さないインデックス operator[]() など)。STL コンテナ std::vector<bool> の個々の要素を安全に変更することはできません。
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 18 言語サポート ライブラリ |
| カテゴリ: Required、Automated |
バージョン履歴
R2019b で導入