x 值
xvalue(eXpiring 值)表达式是一个表达式,它具有标识并表示可以隐式移动的对象。使用 xvalue 表达式的一般想法是它们所代表的对象将很快被销毁(因此 eXpiring
部分),因此隐式地从它们移动是很好的。
鉴于:
struct X { int n; };
extern X x;
4; // prvalue: does not have an identity
x; // lvalue
x.n; // lvalue
std::move(x); // xvalue
std::forward<X&>(x); // lvalue
X{4}; // prvalue: does not have an identity
X{4}.n; // xvalue: does have an identity and denotes resources
// that can be reused