5 Expressions [expr]

5.3 Unary expressions [expr.unary]

5.3.2 Increment and decrement [expr.pre.incr]

The operand of prefix ++ is modified by adding 1. 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: See the discussions of addition ([expr.add]) and assignment operators ([expr.ass]) for information on conversions.  — end note ]

The operand of prefix -- is modified by subtracting 1. The requirements on the operand of prefix -- and the properties of its result are otherwise the same as those of prefix ++. [ Note: For postfix increment and decrement, see [expr.post.incr].  — end note ]