What is the reasoning behind the naming of \"lvalue\" and \"rvalue\" in C/C++ (I know how they function)?
This is the result of the simplification of a (somewhat more complex) concept.
lvalue
s are left values, i. e. those which "can be on the left side of an assignment". This is, again, a simplification, not all lvalues can be directly assigned to as-is (for example, arrays can't, only elements of a non-const
arrays, so subscripting is required).
rvalues
are right values, those which can only be on the right side of an assignment expression.