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