Question:
What is an “lvalue”? How does it relate to “rvalue”?
Answer:
An lvalue
is simply a value on the left side of an expression, and an rvalue
is a value on the right side of an expression.
i = 5;For example, here
i
is the lvalue and 5
is the rvalue.The compiler sometimes uses these terms because the rules often differ for these two values. For example, while the statement above is valid, this one is not.
5 = i;