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
.