CppCon 2019 has ended
Back To Schedule
Thursday, September 19 • 09:00 - 10:00
Back to Basics: Understanding Value Categories

Log in to save this to your schedule, view media, leave feedback and see who's attending!

You may be familiar with the terms lvalue, rvalue, and xvalue, if only because they occasionally appear in compiler error messages. However, if you have only a vague understanding of what they mean, you're not alone. Lvalues, rvalues, and xvalues aren't actually language features, but rather semantic properties of expressions and sub-expressions. Understanding these properties provides valuable insights into the behavior of built-in operators, the code generated to execute those operators, and the meaning of some otherwise cryptic compiler error messages. Understanding these properties is also essential for working effectively with lvalue and rvalue reference types, as well as overloaded operators.

This session explains why the language distinguishes among lvalues, rvalues, and xvalues. It describes how the semantic properties of lvalues, rvalues, and xvalues are different and how those properties are reflected in the behavior of lvalue and rvalue references.

avatar for Ben Saks

Ben Saks

Chief Engineer, Saks & Associates

Thursday September 19, 2019 09:00 - 10:00 MDT
Aurora C