Переменная не const- квалифицированное, но переменное значение не изменялось в течение срока службы
Этот дефект возникает, когда локальная переменная не является const-qualified и один из следующих операторов является истинным в течение срока действия переменной:
Операции записи для переменной после инициализации не выполняются.
При выполнении операций записи переменную переназначить одному и тому же значению константы.
Средство проверки считает переменную измененной, если ее адрес назначен указателю или ссылке (если это не указатель или ссылка на const переменная), передается другой функции или используется иным образом. В этих ситуациях средство проверки не предлагает добавлять const квалификатор.
Средство проверки помечает массивы в качестве кандидатов для const-квалификация только в том случае, если операции записи для элементов массива не выполняются вообще после инициализации.
const-квалификация переменной позволяет избежать непреднамеренного изменения переменной во время последующего обслуживания кода. const квалификатор также указывает разработчику, что переменная сохраняет свое начальное значение в оставшейся части кода.
Если вы не предполагаете изменять значение переменной в течение срока ее действия, добавьте const квалификатор для объявления переменной и инициализация переменной в объявлении.
Если ожидается, что переменная будет изменена, проверьте, указывает ли отсутствие изменения на отсутствие программы, и устраните проблему.
| Группа: Надлежащая практика |
| Язык: C | C++ |
| По умолчанию: Откл. |
Синтаксис командной строки:
UNMODIFIED_VAR_NOT_CONST |
| Воздействие: Низкий |