8.9 C++引用作函数参数 | 传送变量的别名
【摘要】 C++引用作函数参数C++之所以增加引用类型,主要是把它作为函数参数,以扩充函数传递数据的功能。 小林在之前的推文中介绍过函数参数传递的两种情况。将变量名作为实参和形参,这时传给形参的是 变量的值,传递是单向的。如果在执行函数期间形 参的值发生变化,并不传回给实参。因为在调用函 数时,形参和实参不是同一个存储单元。 传递变量的指针,形参是指针变量,实参是一个变量的地址,调用函数...
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
请按任意键继续. . .
留个问题给读者思考,这种传送变量的别名和使用指针变量作形参时有什么区别?
8.9 C++引用作函数参数文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuanlan.zhihu.com/p/339606506
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)