Originally Posted by
Elysia
Well, this of it this way...
If we have an integer, x, and an integer y, we can either say "take x and add y and store the result in z." This is written as
int z = x + y;
We can also say, "take integer x, add y and store the result in x." This is written as:
x += y;
(x = x + y)
So += would modify its left-hand variable, x, in this case.
Operator + does not modify its operands, since it returns a temporary.
Notice the "the result." This is the temporary part, which is the operation of adding x and y (but it isn't saving that anywhere!).