[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  
* & + - ! ~
