在C++中,亡值(rvalue)和纯右值(prvalue)是C++中的两个重要概念,它们都属于右值。
- 将亡值(rvalue):将亡值是指将要销毁或移动资源的对象,它没有持久性的身份,无法被修改。通常出现在临时对象、移动语义和转移所有权的情况下。示例代码如下:
int&& x = 5; // x 是一个对右值引用的亡值
- 纯右值(prvalue):纯右值是指一个表达式,其值可以被计算出来但没有对应的持久性对象。纯右值不能被修改,也不能获取其地址。示例代码如下:
int y = 10; // y 是一个左值
int z = y + 5; // y + 5 是一个纯右值
总之,亡值是一个即将被销毁或移动资源的右值,而纯右值是指一个表达式的值,它是右值的一种特殊形式。