【左值与右值】
①在等号左边的是左值;在等号右边的是右值。
②有名字,可以取地址的是左值;没有名字,不能取地址的是右值。
【右值】
右值分为两种:(传统右值 和 移动的对象)
纯右值prvalue: | 例如: |
纯右值是传统意义上的右值,如上所述的在等号右边、没有名字、不能取地址 | ①字面量值(2,”str”,true) |
②运算表达式(a+b) | |
③普通函数的返回值(非引用返回) | |
…… |
将亡值xvalue: | 例如: |
C++11的新概念,将亡值是配合移动语义、右值引用而提出的概念 将亡值就是将要被移动的对象 |
①返回右值引用T&&的函数的返回值 |