我对这个问题有点怀疑:
如果我有:
int a = 11;
int *b = &a;
当我这样做时:
&*b
我得到a
所指的b
地址,所以我的问题是:
取消引用运算符是否返回指向的变量或该变量的值?
答案 0 :(得分:6)
取消引用运算符是否返回指向的变量或该变量的值?
它返回一个左值,引用指向的对象(即你自己的术语中的变量指向)。如果您在需要 rvalue 的上下文中使用它,则将应用左值到右值转换(即该变量的值将从变量中读出。)
答案 1 :(得分:5)
b == &a
所以
*b == a
所以
&*b == &(*b) == &(a)