What is an “lvalue”? How does it relate to “rvalue”?
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
iis the lvalue and
5is 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;