1300
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.
1301
For the other operators, each operand shall have arithmetic type
consistent with those allowed by the corresponding binary operator.
1302
A compound assignment of the form E1op=E2 differs from the
simple assignment expression E1=E1op(E2) only in that the
lvalue E1 is evaluated only once.