课程
/后端开发
/C++
/C++远征之离港篇
int a=0; int *p=&a; int *&q=p; *q=5;
int a=0;
int *p=&a;
int *&q=p;
*q=5;
这里的*&q=p为什么是p而不是*p?
2015-10-07
源自:C++远征之离港篇 2-2
正在回答
声明 q 时前面的 & 代表 q 是个指针引用,所以要用一个指针来初始化。 这样q就是指针p的引用了。
引用有点“别名”的意思,你对q的操作等同于对p的操作。
神迹 提问者
*p代表a的值,而p是指向a的地址,所以说你不可能把a的值当做地址传给q吧那样就成一个不明确的地址,就没意义了!
5555
举报
C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通