?
, , :
, ( § 1.8/1):
- .
, §1.7/1:
.
. , (rvalue, xvalue, prvalue, lvalue ..).
x-, ?
, x ( § 5/7):
- x, :
- , , rvalue ,
- rvalue ,
- , , x,
- a. * pointer-to-member, xvalue, .
, , rvalue lvalues, rvalue xvalues; rvalue lvalues , namedornot.
. :
struct A { int m; };
A&& operator+(A, A);
A a;
A b;
a + b;
A&& f();
f();
f().m;
A a;
static_cast<A&&>(a);
std::move(a);