今日分享 – 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
请按任意键继续. . .

留个问题给读者思考,这种传送变量的别名和使用指针变量作形参时有什么区别?

以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~

C++引用作函数参数 | 传送变量的别名

更多案例可以go公众号:C语言入门到精通

正文完