首先简单理解一下函数引用:引用就是使两个或以上的函数共用一个地址。
最基本的引用一个函数
int a = 0;
int &b = a;
它的意思是:建立了一个int型变量a,然后又建立了int型变量b,并将b的地址指向a,从而达到两者共用一个地址。
相对应的,修改a或者b任意一值,与之对应的函数也就变成了更改的值,如下:
#include<iostream>
using namespace std;
int main()
{
int a = 0;
int& b = a;
cout << "a的值为:" << a << "\tb的值为:" << b << endl;
b = 5;//这里修改的是b,修改a同下
cout<< "修改后a的值为:" << a << "\t修改后b的值为:" << b << endl;
return 0;
}
当然,引用也适用于const常量,并且可以通过引用来改变或定义const的值,具体如下:
#include<iostream>
using namespace std;
int main()
{
int a=0;//整数类型a
int& b = a;//整数类型b,并且让其地址与a相同
const int &c = a;//定义整形常量c,让其地址与a相同
a = 2;
cout << a << b << c << endl;
b = 5;
cout << a << b << c << endl;
//c = 3;//c是常量,不能直接修改
//打印三者地址
cout << &a << endl
<< &b << endl
<< &c << endl;
return 0;
}
不难看出,虽然无法直接修改const常量,但可以通过地址来改变参数。