左值与右值在C/C++中表示位于
赋值运算符两侧的两个值,赋值号左边的就叫
左值(left-value),右边的就叫右值(right-value)。 比如:(1) int b = 3;(2) int a = b;第(2)行代码,a为左值,b为右值。不过左值与右值的含义有了更深层次的含义:
左值(lvalue)和右值(rvalue)最先来源于编译。在C语言中表示位于
赋值运算符两侧的两个值,左边的就叫左值,右边的就叫右值。
从上面的两个定义可以看出,左值其实要引用一个对象,而一个对象在我们的程序中又肯定有一个名字或者可以通过一个名字访问到,所以左值又可以归纳为:左值表示程序中必须有一个特定的名字引用到这个值。而右值引用的是地址里的内容,所以相反右值又可以归纳为:右值表示程序中没有一个特定的名字引用到这个值除了用地址