The value of a postfix
++ expression is the value obtained by
applying the lvalue-to-rvalue conversion (
[conv.lval]) to its operand
.
The operand shall be a modifiable lvalue
. The type of the operand shall
be an arithmetic type other than
cv bool,
or a pointer to a complete object type
. An operand with volatile-qualified type is deprecated;
see
[depr.volatile.type]. The value of the operand object is modified (
[defns.access])
as if it were the operand of the prefix
++ operator (
[expr.pre.incr])
. The
value computation of the
++ expression is sequenced before the
modification of the operand object
. With respect to an
indeterminately-sequenced function call, the operation of postfix
++ is
a single evaluation
. The type of the result is the cv-unqualified
version of the type of the operand
.