| <<
| сдвиг влево
| lvalue << выр
|
| >>
| сдвиг вправо
| lvalue >> выр
|
| <
| меньше
| выр < выр
|
| <=
| меньше или равно
| выр <= выр
|
| >
| больше
| выр > выр
|
| >=
| больше или равно
| выр >= выр
|
| ==
| равно
| выр == выр
|
| !=
| не равно
| выр!= выр
|
| ^
| побитовое исключающее ИЛИ
| выр ^ выр
|
| |
| побитовое включающее ИЛИ
| выр | выр
|
| &&
| логическое И
| выр && выр
|
| ||
| логическое включающее ИЛИ
| выр || выр
|
| ?:
| арифметический if
| выр? выр: выр
|
| =
| простое присваивание
| lvalue = выр
|
| *=
| умножить и присвоить
| lvalue = выр
|
| /=
| разделить и присвоить
| lvalue /= выр
|
| %=
| взять по модулю и присвоить
| lvalue %= выр
|
| +=
| сложить и присвоить
| lvalue += выр
|
| -=
| вычесть и присвоить
| lvalue -= выр
|
| <<=
| сдвинуть влево и присвоить
| lvalue <<= выр
|
| >>=
| сдвинуть вправо и присвоить
| lvalue >>= выр
|
| &=
| И и присвоить
| lvalue &= выр
|
| |=
| включающее ИЛИ и присвоить
| lvalue |= выр
|
| ^=
| исключающее ИЛИ и присвоить
| lvalue ^= выр
|
| ,
| запятая (последование)
| выр, выр
|
Круглые скобки
Скобками синтаксис C++ злоупотребляет; количество способов их использования приводит в замешательство: они применяются для заключения в них параметров в вызовах функций, в них заключается тип в преобразовании типа (приведении к типу), в именах типов для обозначения функций, а также для разрешения конфликтов приоритетов. К счастью, последнее требуется не слишком часто, потому что уровни приоритета и правила ассоциативности определены таким образом, чтобы выражения "работали ожидаемым образом" (то есть, отражали наиболее привычный способ употребления). Например, значение
if (i<=0 || max