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