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