- 冒号空间 - https://blog.zhenghui.org -

Reply To: 左值和右值

关于左值与右值的问题,写书时也曾考虑过,但怕引起读者误解,故而省略。在流行的高级语言中,主要C、C++强调lvalue与rvalue,其中lvalue是有地址的值,可以进行&(取地址)运算,而其他如java、C#等则无此概念。何故?因为后者除基本类型外,其他的变量(即对象变量)都是通过reference来操纵的,即使一个值放在左边,被赋值的也只是reference而非对象本身,对象的内部状态也不会因此而改变,与C、C++中的左值不是一回事。因此左右值与值语义、引用语义并不完全重合。


Share