什么时候需要引用&
:当对参数的修改结果需要再带回来时
通过一段程序来理解一下
#include <bits/stdc++.h>
using namespace std;
int change(int x)
{
x=1024;
cout<<"change函数内部x="<<x<<endl;
return x;
}
int main()
{
int x=10;
cout<<"调用change前x="<<x<<endl;
change(x);
cout<<"调用change后x="<<x<<endl;
return 0;
}
上述打印结果为:
在change函数里的x相当于是main函数的副本,他们两个在内存空间中有各自的位置。
要想使调用change函数之后,改变main函数里的x,就需要使用引用&
,将参数的修改结果带回来
将原来的int change(int x)
改为int change(int &x)
,此时打印结果如下:
原理是此时change函数里使用的是x的引用,change里操作的x和main里的x是同一份数据