int a=10;
int b=20;
首先可以简单认为等号左边的变量为左值,等号右边为右值,这当然是不准确的。
更深一点,左值是存储在内存中,有明确地址的称为左值。例如a,b在内存中存储,都有一块地址。
右值是可以为左值提供数据值的数据。例如10,20只是起到赋值的作用。
a=b;
例外情况,在这里虽然 b在式子右边为a赋值,但是b也是有一块内存存储的,所以b也是左值,不能简单认为b是右值。
int a=10;
int b=20;
首先可以简单认为等号左边的变量为左值,等号右边为右值,这当然是不准确的。
更深一点,左值是存储在内存中,有明确地址的称为左值。例如a,b在内存中存储,都有一块地址。
右值是可以为左值提供数据值的数据。例如10,20只是起到赋值的作用。
a=b;
例外情况,在这里虽然 b在式子右边为a赋值,但是b也是有一块内存存储的,所以b也是左值,不能简单认为b是右值。