0

Are lvalues basically a normal variables and rvalues a temporary objects? Or there can also be different things that we can assume as rvalues or lvalues?

michalt38
  • 1,193
  • 8
  • 17
  • Basically yes. Anything with a name, and all reference types are lvalues. – NathanOliver May 19 '20 at 19:28
  • The "L" and "R" in the names derive (somewhat obscurely) from the fact that an *lvalue* can be the left-hand side of an assignment (so it must be something that has an address), whereas an *rvalue* can be the right-hand side (so it can be a constant, or an expression). In `a = b + c;`, `a` is an lvalue and `b + c` is an rvalue (one cannot, for example, have `b + c = a`). – Adrian Mole May 19 '20 at 19:33

0 Answers0