左值有明确内存地址可取址,如变量;右值为临时对象不可取址,如字面量;C++11通过右值引用实现移动语义,提升性能。

理解C++中的左值和右值,关键在于看表达式能否取地址以及是否具有持久的内存位置。简单说,能取地址的是左值,不能取地址的一般是右值。这个概念在C++11引入右值引用后变得更加重要。
什么是左值(lvalue)
左值指的是那些有明确内存地址、生命周期较长的表达式。通常变量名就是典型的左值。
- 可以对其使用取地址符 &
- 可以被赋值(出现在赋值操作的左边)
- 例如:普通变量、数组元素、解引用指针等
示例:
标签: c++
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~