Overview
Explore the intricacies of C++ value categories in this comprehensive conference talk from CppCon 2022. Delve into the evolution of value categories across different C++ versions and learn how to leverage standard tools for optimal code behavior. Gain insights into reference and move semantics, implicit moves, and real-life code examples. Master concepts such as lvalue, prvalue, xvalue, and materialization. Understand function calls, guaranteed copy illusion, and reference collisions. Discover techniques for forwarding references, move operations, and overload reduction. Enhance your C++ skills with practical code snippets and expert guidance on using std::forward, decay types, and other essential tools for efficient programming.
Syllabus
Introduction
Motivation
References
Value Category
Value Category Evolution
Reference and Move Semantics
Implicit Move
Terminology
Lvalue
PRvalue
Xvalue
Real Life Code
Function Calls
Guaranteed Copy Illusion
Materialization
Standard Terminology
Summary
Reference Collision
Reference Collision Example
Forwarding Reference
Conclusion
Move
Code Snippets
Stand Forward
Overloads
Decay
Decal Type
DecalVal
Reducing
Overload
Single Declaration Template
Other Tools
Recap
Taught by
CppCon