Ссылочный тип, объявленный с избыточным 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++ |
| По умолчанию: Off |
Синтаксис командной строки
: CV_QUALIFIED_REFERENCE_TYPE |
| Влияние: Низкое |
C++ reference to const-qualified type with subsequent modification | Find defects (-checkers) | Qualifier removed in conversion | Unreliable cast of function pointer | Unreliable cast of pointer | Writing to const qualified object