Каждый операнд логического && или || должен быть постфиксным выражением
Каждый операнд логического && или || должен быть постфиксным выражением.
Это правило эффективно требует что операнды логического && или || операция быть соответственно заключенным в скобки. Например, вместо a + b || c, правило требует (a + b) || c или a + (b || c). В обоих совместимых случаях, левом операнде ||, это - (a + b) или b, первичное выражение и поэтому также постфиксное выражение. Для получения дополнительной информации о постфиксных выражениях смотрите C++ 03 Стандарта (Раздел 5.2).
Включение операндов в круглых скобках улучшает удобочитаемость кода и убеждается, что операции происходят в порядке, который предназначает разработчик.
Средство проверки повышает нарушение если логический && или || операнд не является постфиксным выражением.
Постфиксное выражение может быть первичным выражением, таким как простой идентификатор или комбинация идентификаторов, заключенных в круглые скобки, но также и одно из следующего:
Вызов функции, такой как func().
Доступ к элементу массива, такой как arr[].
Доступ к элементу структуры, такой как aStructVar.aMember.
Для полного списка постфиксных выражений смотрите C++ 03 Стандарта (Раздел 5.2).
Средство проверки позволяет исключения на ассоциативных цепях, таких как (a && b && c) или (a || b || c).
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
| Группа: Выражения |
| Категория: необходимый |