最近写代码,对于数组指针及引用的这部分内容有点忘了。
&和*的区别
&:与变量(如a)在一起为取地址,与变量类型(如int)结合为引用。取地址就是指针,引用就是变量别名,使用同一空间。
*:与变量在一起为指向的空间,与变量类型在一起为指针。
如果引用的地址发生改变会怎么样吗?会影响引用吗?
int q=0;
int *a=&q;
*a=1;
int &b=*a;//引用
int c=2;
a=&c;//取地址
std::cout<<a<<"\t"<<b;
得出结果2 1
引用只对内存空间负责,取地址和指针只对地址负责。