выражение: терм выражение бинарная_операция выражение выражение ? выражение : выражение список_выражений терм: первичный * терм & терм - терм ! терм ~ терм ++терм --терм терм++ терм-- ( имя_типа) выражение имя_простого_типа ( список_выражений) sizeof выражение sizeof ( имя_типа ) new имя_типа new ( имя_типа ) первичный: id :: идентификатор константа строка this ( выражение ) первичный[ выражение ] первичный ( список_выражений opt ) первичный.id первичный->id id: идентификатор typedef-имя :: идентификатор список_выражений: выражение список_выражений, выражение операция: унарная_операция бинарная_операция специальная_операция
Бинарные операции имеют приоритет, убывающий в указанном порядке:
бинарная_операция: * / % + - << >>
< >
== != & ^ | &&
= += -= *= /= %= ^= &= |= >>=