简单来说:a=b
“=” 是赋值符号:把右值的value复制一下,粘贴到左值的地址上存储
a是左值
b是右值
那么就是:b赋值给a
也就是把b的value赋值给a,让a的value等于b的value
(a的地址上存的是b的value)
所以左值可以是变量、表达式,但不可以是常量
(也就是:左值一定是要拥有地址的,它才能存放东西)
所以右值可以是常量,也可以是变量、表达式
(也就是:右值可以没有地址,也可以有地址,但是右值不能没有value)
综上所述:
左值一定是要拥有地址的,它才能把被赋值的value存进去
右值可以没有地址,也可以有地址,但是右值不能没有value,
右值的value一定不能为空,因为右值要把自己的value丢到左值的地址存储
就是:左值=右值 的过程就是:右值小可爱把自己的钱钱(value)丢到左值的钱包(地址位置)里面存储。
但是地址&&value的关系是:一个萝卜一个坑
所以,右值小可爱把钱钱(value)丢到左值的钱包(地址)里面的时候,左值的钱钱(value)就丢失了,所以:左值的钱包(地址)里面只有右值小可爱的钱钱(value)。
当然,左值的钱包(地址)里面的value只是右值小可爱的钱钱(value)的副本,所以右值小可爱的钱包里面的钱钱还是那么多。