Appendix C. Language Definitions

This appendix is intended as a reference for definitions relevant to this book.

C.1 Value Categories

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:

Definition ...

Get Discovering Modern C++: An Intensive Course for Scientists, Engineers, and Programmers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.