C++11 左值 右值

版权声明: https://blog.csdn.net/luoshabugui/article/details/83614879

在C++11中所有的值必属于左值、右值两者之一。

C++98
左值(lvalue),可以放在赋值运算符=左边的变量或者表达式,有名字,可以取地址。
右值(rvalue),临时变量值(非引用返回的函数返回值、表达式等)或者不跟对象关联的字面量值(注意:字符串字面值是左值,唯一例外),没有名字,不能取地址。
C++11
对右值进行了扩充,右值分为纯右值(prvalue,Pure Rvalue)将亡值(xvalue,eXpiring Value)
纯右值就是C++98中的右值概念。
将亡值则是C++11新增的跟右值引用相关的表达式,这样表达式通常是将要被移动的对象。

官方说明文档

Value categories

猜你喜欢

转载自blog.csdn.net/luoshabugui/article/details/83614879
今日推荐