[expr.unary.general] # 7 Expressions [[expr]](./#expr) ## 7.6 Compound expressions [[expr.compound]](expr.compound#expr.unary.general) ### 7.6.2 Unary expressions [[expr.unary]](expr.unary#general) #### 7.6.2.1 General [expr.unary.general] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/expressions.tex#L5167) Expressions with unary operators group right-to-left[.](#1.sentence-1) [unary-expression:](#nt:unary-expression "7.6.2.1 General [expr.unary.general]") [*postfix-expression*](expr.post.general#nt:postfix-expression "7.6.1.1 General [expr.post.general]") [*unary-operator*](#nt:unary-operator "7.6.2.1 General [expr.unary.general]") [*cast-expression*](expr.cast#nt:cast-expression "7.6.3 Explicit type conversion (cast notation) [expr.cast]") ++ [*cast-expression*](expr.cast#nt:cast-expression "7.6.3 Explicit type conversion (cast notation) [expr.cast]") -- [*cast-expression*](expr.cast#nt:cast-expression "7.6.3 Explicit type conversion (cast notation) [expr.cast]") [*await-expression*](expr.await#nt:await-expression "7.6.2.4 Await [expr.await]") sizeof [*unary-expression*](#nt:unary-expression "7.6.2.1 General [expr.unary.general]") sizeof ( [*type-id*](dcl.name#nt:type-id "9.3.2 Type names [dcl.name]") ) sizeof ... ( [*identifier*](lex.name#nt:identifier "5.11 Identifiers [lex.name]") ) alignof ( [*type-id*](dcl.name#nt:type-id "9.3.2 Type names [dcl.name]") ) [*noexcept-expression*](expr.unary.noexcept#nt:noexcept-expression "7.6.2.7 noexcept operator [expr.unary.noexcept]") [*new-expression*](expr.new#nt:new-expression "7.6.2.8 New [expr.new]") [*delete-expression*](expr.delete#nt:delete-expression "7.6.2.9 Delete [expr.delete]") [*reflect-expression*](expr.reflect#nt:reflect-expression "7.6.2.10 The reflection operator [expr.reflect]") [unary-operator:](#nt:unary-operator "7.6.2.1 General [expr.unary.general]") one of * & + - ! ~