引用:声明了一个作为某个对象别名的标识符,声明的同时必须初始化。格式为:<类型>& 别名=原名;
引用的声明和变量的声明不一样。当声明一个变量a时,a就有了一个相应的内存空间和该内存空间的地址,但声明一个引用r并使用a对其进行初始化时,r和a是相同的。
普通函数都是值传递,即在函数内部复制了一份传递过来的变量的值,修改形参的值并不会影响到实参的值。而使用引用传递的函数则是传递了实参的地址,形参只是实参的一个别名,操作形参相当于直接操作实参。
如果你想要保证通过引用传递过来的参数在函数体中保持不变,使用const即可。
下面是通过引用传递交换两个整数的值:
#include <iostream>
using namespace std;
void swap(int& a,int& b) {
int temp=a;
a=b;
b=temp;
}
int main() {
int i,j;
i=5;
j=10;
cout<<"i="<<i<<",j="<<j<<endl;
swap(i,j);
cout<<"i="<<i<<",j="<<j<<endl;
return 0;
}