This appendix is intended as a reference for definitions relevant to this book.
C++ distinguishes among different categories of values. The most important are lvalue and rvalue.
Definition C–1 (lvalue). An Lvalue (so called, historically, because lvalues can appear on the left-hand side of an assignment expression) designates a function or an object.
More pragmatically, an lvalue is an entity from which we can get an address. This does not exclude that they may be constant—although this is somewhat inconsistent with the terminology. The reason for this is that early versions of C had no
const attribute so all lvalues were allowed on the left side of an assignment.
The counterpart is: