除了a=b都不可以吧...
答案是&a,想不通
f(a,b)
答案是&a,想不通
&a,f(a,b)不可以吧。应该是这样。
答案是&a,想不通
1、先说f(a,b),若返回值是值类型,那就不能出现在左侧,因为返回的是一个具体值,比如说0,总不能让0=某一个值吧;但如果返回值是一个指针类型或者引用,就可以了
2、a=b,是可以的,比如说a=b=一个值,那就先将那个值给b再赋给a,就可以了。
3、*p,若p是一个指向右侧值类型的一个指针,那就可以这样了。
4、&a,对a进行取地址操作,那么得到的将是一个常数,就回到1的第一种情况了。
综上,一定不能出现在赋值运算符左侧的就是&a
第三点*p,这里对p的限制应该是不可以作为右值出现才可以吧,一般的指针都是左值,可是在赋值运算符两侧出现。
相关链接:关于左值和右值的区别与联系
我觉得&a是可以放在左侧的,比如 int m , int &a = m,当a时一个m的引用时,是可以的
这应该是声明吧,不算在赋值语句里面