C++11 左值与右值

  1. 概念
  • 左值:表达式结束后依然存在的对象
  • 右值:表达式结束后就不存在的临时对象

2.如何判断左值和右值

  • 能不能对表达式取地址,如果能,就是左值,否则就是右值

3.对下面的语句进行区分

int a = 3;  ///< a是左值,
int b = 4;  ///< b是左值
a + b;      ///< a + b 产生的值是临时变量,无法对(a + b)取地址,所以是右值
原文地址:https://www.cnblogs.com/zjzyh/p/4433232.html