On 01/04/2011 02:55 PM, spir wrote:
Hello,
I'm bluffed by the 2 terms "l-value"& "r-value" used in C-line language common
terminologies. I think I guess what they mean, but I don't understand the need for such absconse
idioms. Why not:
l-value<-> variable
r-value<-> value (or expression)
?
I guess (*p) is considered an l-value. Indeed, it's a special way of denoting a
variable, matching the special case of a pointer. If correct, this requires
slightly extending the notion of variable (and/or of identifier).
On the r-value side, I cannot find anything that makes it a distinct concept
from the one of value, or of expression.
Explanations welcome, thank you,
Denis
-- -- -- -- -- -- --
vit esse estrany ☣
spir.wikidot.com
rvalue is easier than value-not-bound-to-a-memory-address.
lvalue is easier than value-with-memory-address.
Both lvalues and rvalues are values, both can be expressions, and
lvalues doesn't have to be variables.
Perhaps a better terminology could have been chosen, but changing them
doesn't provide real benefits, as far as I can tell.