Appendix C

Language Definitions

“Language is a tool adequate to provide any degree of precision relevant to a particular situation.”

—Kenneth L. Pike

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

C.1 Value Categories

C++ distinguishes between different categories of values. We focus here on lvalues and rvalues and have adapted the definitions from the ISO standard [38] accordingly.

Definition C–1. (lvalue). An lvalue is an object, bit-field, function.

More pragmatically, an lvalue is or refers to an entity that has a name which allows us to determine its address with the address operator &. This rule is more generally applicable than we might think. Even a function whose code is substituted for each call of ...

Get Discovering Modern C++, 2nd Edition 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.