对一个数据可以使用”引用“,这是c++对c的一个重要扩充,引用的作用是为变量起一个别名。
例如;
int a;
int &b=a;
以上语句声明了b是a的别名,&在这里不是取地址符,是引用声明符。
注意:b声明为a的别名或者引用后,不能再次声明为其他的别名或者引用!
作用:
引用声明的作用是为了解决按值传递的弊端,虽然我们可以用之前学到的指针变量来解决这个问题
如:swap(int *pi,int *p2)
这种方式内在还是”值传递“,只不过传递的是变量的地址而已,而且还有些兜圈子的感觉
在C++中利用引用形参就可以更直接的解决这个问题
例如:swap(int &a,int &b)
将引用作为形参,这样在函数执行时,对别名的操作也就是对实参的真实操作
小tip:
当&a之前有类型符例如(int &a)时,它必然是对引用的声明;如果没有则是取地址符