Каждый операнд логического && или || должен быть постфиксным выражением
Каждый операнд логического && или || должен быть постфиксным выражением.
Это правило эффективно требует что операнды логического &&
или ||
операция быть соответственно заключенным в скобки. Например, вместо 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)
.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: Выражения |
Категория: необходимый |