函数参数中的& 是别名引用的意思~ 目的是为了将实参的别名传递给形参,这样可以利用形参传递出想要的值。
如:
voidfun1(int a)
{
a ++;
}
void fun2(int &a)
{
a++;
}
现在有如下声明:
int a = 10;
调用fun1 ----> fun1(a); printf("a = %d", a); 结果: a = 10;
原因,形参在函数完成后就释放了,所以a还是等于10
调用fun2 ----> fun2(a); printf("a = %d", a); 结果: a = 11;
原因,由于传递的是实参的引用,别名,所以在函数完成后,实参得到了修改 所以a应该等于11
温馨提示:内容为网友见解,仅供参考