Expressions with Unary Operators

Unary operators act on only one operand in an expression. The unary operators are as follows:

These operators have right-to-left associativity. Unary expressions generally involve syntax that precedes a postfix or primary expression.

Syntax

unary-expression:
postfix-expression
++ cast-expression
-- cast-expression
unary-operator cast-expression
sizeof unary-expression
sizeof ( type-id )
sizeof ... ( identifier )
alignof ( type-id )
noexcept-expression
new-expression
delete-expression
unary-operator: one of
* & + - ! ~

Remarks

Any postfix-expression is considered a unary-expression, and because any primary-expression is considered a postfix-expression, any primary-expression is considered a unary-expression also. For more information, see Postfix expressions and Primary expressions.

The cast-expression is a unary-expression with an optional cast to change the type. For more information, see Cast operator: ().

The noexcept-expression is a noexcept-specifier with a constant-expression argument. For more information, see noexcept.

The new-expression refers to the new operator. The delete-expression refers to the delete operator. For more information, see new operator and delete operator.

See also

Types of expressions