Thursday 3 January 2013

Assignment ( = )

The assignment operator assigns a value to a variable.


This statement assigns the integer value 5 to the variable a. The part at the left of the assignment operator (=) is
known as the l value(left value) and the right one as the r value (right value). The l value has to be a variable
whereas the r value can be either a constant, a variable, the result of an operation or any combination of these.
The most important rule when assigning is the right-to-left rule: The assignment operation always takes place from
right to left, and never the other way: 




This statement assigns to variable a(the l value) the value contained in variable b(the r value). The value that was
stored until this moment in a is not considered at all in this operation, and in fact that value is lost.
Consider also that we are only assigning the value of b to a at the moment of the assignment operation. Therefore
a later change of b will not affect the new value of a.
For example, let us have a look at the following code - I have included the evolution of the content stored in the
variables as comments:






This code will give us as result that the value contained in ais 4and the one contained in bis 7. Notice how a was
not affected by the final modification of b, even though we declared a = bear lier (that is because of the right-to-left rule). 



A property that C++ has over other programming languages is that the assignment operation can be used as the
r value (or part of an r value) for another assignment operation. For example: 




is equivalent to: 



that means: first assign 5to variable band then assign to a the value 2plus the result of the previous assignment
of b(i.e. 5), leaving a with a final value of 7.
The following expression is also valid in C++: 





It assigns 5to the all the three variables: a, band c.

No comments:

Post a Comment