R.17.2 Выражения

R.17.2 Выражения

выражение:

 выражение-присваивания

 выражение , выражение-присваивания

выражение-присваивания:

 выражение-условия

 унарное-выражение операция-присваивания выражение-присваивания

операция-присваивания: один из

 = *= /= %= += -= ››= ‹‹= &= ^= |=

выражение-условия:

 логическое-выражение-ИЛИ

 логическое-выражение-ИЛИ ? выражение : выражение-условия

логическое-выражение-ИЛИ:

 логическое-выражение-И

 логическое-выражение-ИЛИ || логическое-выражение-И

логическое-выражение-И:

 выражение-ИЛИ

 логическое-выражение-И && выражение-ИЛИ

выражение-ИЛИ:

 выражение-исключающего-ИЛИ

 выражение-ИЛИ | выражение-исключающего-ИЛИ

выражение-исключающего-ИЛИ:

 выражение-И

 выражение-исключающего-ИЛИ ^ выражение-И

выражение-И:

 выражение-равенства

 выражение-И & выражение-равенства

выражение-равенства:

 выражение-отношения

 выражение-равенства == выражение-отношения

 выражение-равенства != выражение-отношения

выражение-отношения:

 сдвиговое-выражение

 выражение-отношения ‹ сдвиговое-выражение

 выражение-отношения › сдвиговое-выражение

 выражение-отношения ‹= сдвиговое-выражение

 выражение-отношения ›= сдвиговое-выражение

сдвиговое-выражение:

 аддитивное-выражение

 сдвиговое-выражение ‹‹ аддитивное выражение

 сдвиговое-выражение ›› аддитивное выражение

аддитивное-выражение:

 мультипликативное-выражение

 аддитивное выражение + мультипликативное-выражение

 аддитивное-выражение - мультипликативное-выражение

мультипликативное-выражение:

 выражение-pm

 мультипликативное-выражение * выражение-pm

 мультипликативное-выражение / выражение-pm

 мультипликативное-выражение % выражение-pm

выражение-pm:

 выражение-приведения

 выражение-pm .* выражение-приведения

 выражение-pm -›* выражение-приведения

выражение-приведения:

 унарное-выражение

 ( имя-типа ) выражение-приведения

унарное-выражение:

 постфиксное-выражение

 ++ унарное выражение

 -- унарное выражение

 унарная-операция выражение-приведения

 sizeof унарная-операция

 sizeof ( имя-типа )

 выражение-размещения

 выражение-освобождения

унарная-операция: один из

 * & + - ! ~

 выражение-размещения:

 :: opt new параметры-new opt имя-типа-new инициализатор-new

 :: opt new параметры-new opt ( имя-типа ) инициализатор-new

параметры-new:

 ( список-выражений )

имя-типа-new:

 список-спецификаций-типа описатель-new opt

описатель-new:

 * список-спецификаций-cv opt описатель-new opt

 имя-класса :: список-спецификаций-cv opt описатель-new opt

 описатель-new opt [ выражение ]

инициализатор-new:

 ( список-инициализаторов opt )

выражение-освобождения:

 :: opt delete выражение-приведения

 :: opt delete [ ] выражение-приведения

постфиксное-выражение:

 первичное-выражение

 постфиксное-выражение [ выражение ]

 постфиксное-выражение ( список-выражений opt )

 имя-простого-типа ( список-выражений opt )

 постфиксное-выражение . имя

 постфиксное-выражение -› имя

 постфиксное-выражение ++

 постфиксное-выражение --

список-выражений:

 выражение-присваивания

 список-выражений , выражение-присваивания

первичное-выражение:

 литерал

 this

 :: идентификатор

 :: имя-функции-операции

 :: уточненное-имя

 ( выражение )

 имя

имя:

 идентификатор

 имя-функции-операции

 имя-функции-преобразования

 ~имя-класса

 уточненное-имя

уточненное-имя:

 уточняющее-имя-класса :: имя

литерал:

 целая константа

 символьная константа

 константа с плавающей точкой

 строка литералов