const 修飾子または volatile 修飾子付きの C++ の参照型
冗長な const 修飾子または volatile 修飾子で宣言されている参照型
説明
この欠陥は、参照型の変数が、次のように、const 修飾子または volatile 修飾子で宣言された場合に発生します。
char &const c;
リスク
C++14 規格では、const 修飾子または volatile 修飾子付きの参照は適格ではありません (ただし、typedef を通じて導入された場合は無視されます)。たとえば、ある変数への参照を別の変数への参照に使用することはできません。そのため、参照型の変数に対して const 修飾子を使用する必要はありません。
これらの修飾子の使用は多くの場合、コーディング エラーを示します。たとえば、次のように const 修飾子付きの型への参照を宣言しようとして
char const &c;
const 修飾子付きの参照を宣言したとします。char &const c;
c が変更されないことを想定しているにもかかわらず、c の値が宣言時の値と異なる可能性があります。修正方法
const 修飾子または volatile 修飾子が適切に配置されているかどうかを確認します。たとえば、const 修飾子付きの型への参照を意図して次のように入力しているかどうかを確認します。
char &const c;
char const &c;
const 修飾子または volatile 修飾子を & 演算子の前に配置します。そうでない場合、冗長な修飾子を削除します。例
結果情報
| グループ: 適切な手法 |
| 言語: C++ |
| 既定値: オフ |
コマンド ライン構文: CV_QUALIFIED_REFERENCE_TYPE |
| 影響度: Low |
バージョン履歴
R2019a で導入