c++左值 右值概念

c++左值 右值概念,第1张

c++左值 右值概念
  • 左值 右值
    左值:可以放等号左边的,可以取地址
    右值:不可以放等号左边,不能取地址

  • 纯右值 将亡值
    右值又分为纯右值和将亡值

纯右值:运算表达式产生的临时变量、不和对象关联的原始字面量、非引用返回的临时变量、lambda表达式等都是纯右值。

将亡值:将亡值是指C++11新增的和右值引用相关的表达式,通常指将要被移动的对象、T&&函数的返回值、std::move函数的返回值、转换为T&&类型转换函数的返回值,将亡值可以理解为即将要销毁的值,通过“盗取”其它变量内存空间方式获取的值,在确保其它变量不再被使用或者即将被销毁时,可以避免内存空间的释放和分配,延长变量值的生命周期,常用来完成移动构造或者移动赋值的特殊任务。

  • 左值引用
    左值引用: type &name = exp;
    int a = 5;
    int &b = a; //b是左值引用
  • 右值引用
    右值引用:type &&name = exp;
    int a = 5;
    int &&b = std::move(a);

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5099525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存