Search⌘ K
AI Features

Updated Value Categories

Explore the updated value categories introduced in C++17 that clarify how expressions are classified as lvalue, xvalue, and prvalue. Understand their roles in assignment, move semantics, and expression identity to improve your grasp of modern C++ language behavior and performance.

We'll cover the following...

In C++98/03, we had two basic categories of expressions:

  • lvalue - an expression that can appear on the left-hand side of an assignment
  • rvalue - an expression that can appear only on the right-hand side of an assignment

C++11 extended this taxonomy (due to the move semantics), ...