C/C++教程

c++左值 右值概念

本文主要是介绍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);
这篇关于c++左值 右值概念的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!