Ссылочный тип объявляется с избыточным const или спецификатором volatile
Ссылочный тип C++, квалифицированный с const или энергозависимый, происходит, когда переменная со ссылочным типом объявляется с 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