C++引用作函数参数
C++之所以增加引用类型,主要是把它作为函数参数,以扩充函数传递数据的功能。
小林在之前的推文中介绍过函数参数传递的两种情况。
- 将变量名作为实参和形参,这时传给形参的是 变量的值,传递是单向的。如果在执行函数期间形 参的值发生变化,并不传回给实参。因为在调用函 数时,形参和实参不是同一个存储单元。
- 传递变量的指针,形参是指针变量,实参是一个变量的地址,调用函数时,形参指向 实参变量单元。
C++的这种虚实结合的方法仍然是值传递方式,只是实参的值是变量的地址而已,C++提供了向函数传递数据的第3种方法:传送变量的别名。
经典案例:C++实现传送变量的别名。
#include<iostream>//预处理
using namespace std;//命名空间
int main()//主函数
{
void swap_Number(int &num1,int &num2);//函数声明
int i,j;//定义整型变量
i=4;//赋初值
j=7;//赋初值
swap_Number(i,j);//调用swap函数
cout<<"i="<<i<<endl;//输出交换后的i值
cout<<"j="<<j<<endl;//输出交换后的j值
return 0; //函数返回值为0;
}
void swap_Number(int &num1,int &num2)//自定义交换值函数
{
int temp;//定义中间变量
temp=num1;
num1=num2;
num2=temp;
}
执行本程序之后,会输出:
i=7
j=4
--------------------------------
Process exited after 0.05149 seconds with return value 0
请按任意键继续. . .
留个问题给读者思考,这种传送变量的别名和使用指针变量作形参时有什么区别?
以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
更多案例可以go公众号:C语言入门到精通
正文完