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 completely-defined object type
.The result is the updated operand; it is an lvalue, and it is a
bit-field if the operand is a bit-field
.The expression 
++x is equivalent to 
x+=1.[
Note 1: 
See the discussions of addition (
[expr.add]) and assignment
operators (
[expr.ass]) for information on conversions
. — 
end note]