C++ Value Categories Reference
Cppreference. Standard-d20 (§7.2.1).
Primary value categories:
- prvalue
1; true; int f(), f(); ++x; &x;
- xvalue
T{}; std::move(a); T().m;
- lvalue:
x; a[3]; "hi";
Secondary value categories:
glvalue:
Any expression which can have a dynamic type.
rvalue
1; std::move(x);
Reference binding:
- lvalue references bind to lvalues.
- const lvalue references bind to lvalues and rvalues.
- rvalue references bind to rvalues.
Tags: #programming #C++ #reference