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
.