6.5.16.2 Compound assignment

Constraints

1

For the operators += and -= only, either the left operand shall be a pointer to an object type and the right shall have integer type, or the left operand shall have qualified or unqualified arithmetic type and the right shall have arithmetic type.

2

For the other operators, each operand shall have arithmetic type consistent with those allowed by the corresponding binary operator.

Semantics

3

A compound assignment of the form E1 op = E2 differs from the simple assignment expression E1 = E1 op (E2) only in that the lvalue E1 is evaluated only once.