【C++】右值

【左值与右值】

①在等号左边的是左值;在等号右边的是右值。

②有名字,可以取地址的是左值;没有名字,不能取地址的是右值。

【右值】

【C++】右值

右值分为两种:(传统右值 和 移动的对象)

纯右值prvalue

例如:

纯右值是传统意义上的右值,如上所述的在等号右边、没有名字、不能取地址

①字面量值(2,”str”,true)

②运算表达式(a+b)

③普通函数的返回值(非引用返回)

……

将亡值xvalue

例如:

C++11的新概念,将亡值是配合移动语义、右值引用而提出的概念

将亡值就是将要被移动的对象

 

①返回右值引用T&&的函数的返回值