Проект не должен содержать энергонезависимые переменные POD, имеющие только одно использование.
Проект не должен содержать энергонезависимые переменные POD, имеющие только одно использование.
Если вы используете энергонезависимую переменную с Простым Типом данных (int
'double'
, и т.д.), только однажды, можно заменить переменную на постоянный литерал. Ваше использование переменной указывает, что вы предназначили больше чем одно использование для той переменной и можете иметь программную ошибку в коде. Вы можете не использовать другое использование энергонезависимой переменной или неправильно использовать другие переменные в намеченных точках использования.
Средство проверки отмечает локальные и статические переменные, которые имеют функциональный осциллограф (локально статический) и осциллограф файла, которые используются только однажды. Средство проверки рассматривает const
- квалифицированные глобальные переменные без extern
спецификатор как статические переменные с осциллографом файла.
Средство проверки считает эти варианты использования как одно использование энергонезависимой переменной:
Явная инициализация с помощью постоянного литерала или возвращаемого значения функции
Присвоение
Ссылка на переменную, такую как операция чтения
Присвоение переменного адреса к указателю
Если переменный адрес присвоен указателю, средство проверки принимает, что указатель может быть разыменован позже и не отмечает переменную.
Некоторые объекты спроектированы, чтобы использоваться только однажды их семантикой. Polyspace® не отмечает одно использование этих объектов:
lock_guard
scoped_lock
shared_lock
unique_lock
thread
future
shared_future
Если вы используете нестандартные объекты, которые обеспечивают схожую функциональность как объекты в предыдущем списке, Polyspace может отметить одно использование нестандартных объектов. Выровняйте по ширине их одно использование при помощи комментариев.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: Независимые от языка проблемы |
Категория: необходимый, автоматизированный |