C++ Language/Expressions/ChainOfAssignment
The "compound assignment" iVar += 2;
is an abbreviation for iVar = iVar + 2;
.
Programmers usually think about +=
only in terms of its effect (changing the value stored in iVar
's memory), but that expression does also evaluate to a value.
In fact, it evaluates to a "lvalue" which means that iVar+=2
is allowed to occur on the left-hand-side of some other assignment (although it would be weird to do so).
Additional information about lvalues (includes interactive examples)