C++怎么理解左值和右值_C++表达式与C++11新特性基础

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

C++怎么理解左值和右值_C++表达式与C++11新特性基础-第1张图片-佛山资讯网

理解C++中的左值和右值,关键在于看表达式能否取地址以及是否具有持久的内存位置。简单说,能取地址的是左值,不能取地址的一般是右值。这个概念在C++11引入右值引用后变得更加重要。

什么是左值(lvalue)

左值指的是那些有明确内存地址、生命周期较长的表达式。通常变量名就是典型的左值。

  • 可以对其使用取地址符 &
  • 可以被赋值(出现在赋值操作的左边)
  • 例如:普通变量、数组元素、解引用指针等

示例:

标签: c++

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~