关于& 引用
如果形参T 前面带有& 说明T是引用类型, 引用是C++ 特有的,引用类的变量,若函数值发生变化,则变化值带回主函数中。
下面通过程序来演示说明。
//f.cpp 变量引用类型和非引用类型的区别
#include<stdio.h>
void fa(int a) //在函数中,将不带回主函数(主函数中的a仍然是原值)
{
a = 5;
printf("在函数fa中:a = %d \n",a);
}
void fb(int &a) //a是引用类型,在函数中改变a,其值将带回主函数
{
a = 5;
printf("在函数fb中:a = %d \n",a);
}
void fc(int *a)
{
*a = 5;
printf("在函数fc中:a = %d \n",*a);
}
int main()
{
int n=1;
printf("在程序中,调用函数fa之前: n = %d\n",n);
fa(n);
printf("在程序中,调用函数fa之后: n = %d\n",n);
fb(n);
printf("在程序中,调用函数fb之后: n = %d\n",n);
fc(&n);
printf("在程序中,调用函数fc之后: n = %d\n",n);
return 0;
}
在程序中,调用函数fa之前: n = 1
在函数fa中:a = 5
在程序中,调用函数fa之后: n = 1
在函数fb中:a = 5
在程序中,调用函数fb之后: n = 5
在函数fc中:a = 5
在程序中,调用函数fc之后: n = 5
请按任意键继续. . .