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