Значение выражения должно быть тем же самым согласно любому порядку оценки, которую разрешает стандарт
Примечание
Используйте Bug Finder вместо Code Prover для проверки правил кодирования. Поддержка кодирования правил, регистрируясь в Code Prover будет удалена в будущем релизе. См. Вопросы совместимости.
Значение выражения должно быть тем же самым согласно любому порядку оценки, которую разрешает стандарт.
Если выражение приводит к различным значениям в зависимости от порядка оценки, ее значение становится заданным реализацией.
Polyspace® повышает нарушение, если выражение удовлетворяет какому-либо из этих условий:
Та же переменная изменяется несколько раз в выражении, или это и считано и записано.
Выражение позволяет больше чем один порядок оценки.
Выражение содержит один volatile объект, который происходит многократно.
Выражение содержит больше чем один volatile объект.
Поскольку volatile объекты могут изменить свое значение в любое время, выражение, содержащее несколько volatile переменные или несколько экземпляров того же volatile переменная сила имеет различные результаты в зависимости от порядка оценки.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
| Группа: Выражения |
| Категория: необходимый |