What is the reasoning behind the naming of \"lvalue\" and \"rvalue\" in C/C++ (I know how they function)?
It's pretty intuitive if you think about what side of an assignment operator they can appear:
left-value = right-value;
Loosely put, lvalue means you can assign to it, rvalue means it can only appear on the right hand side of the operator.
lvalue
rvalue