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