Правый операнд логического && или || оператор не должен содержать побочные эффекты
Правый операнд логического && или || оператор не должен содержать побочные эффекты.
Когда оценено, выражение с побочным эффектом изменяет по крайней мере одну из переменных в выражении. Например, n++
выражение с побочным эффектом.
Правый операнд a:
Логический
оператор оценен, только если левый операнд оценивает к истине.
Логический ||
оператор оценен, только если левый операнд оценивает ко лжи.
В других случаях не оценены правые операнды, таким образом, побочные эффекты выражения не происходят. Если ваша программа использует побочные эффекты, вы можете видеть неожиданные результаты в тех случаях.
Средство проверки отмечает логический &&
или ||
операторы, правильные операнды которых являются выражениями, которые имеют побочные эффекты. Polyspace® принимает:
Выражения, который изменяет по крайней мере одну из его переменных, имеют побочные эффекты.
Явные конструкторы или функции преобразования, которые объявлены, но не заданы, не имеют никаких побочных эффектов. Заданные функции преобразования имеют побочные эффекты.
Энергозависимые доступы и вызовы функции не имеют никаких побочных эффектов.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: Выражения |
Категория: необходимый |