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