C++ 把引用作为函数参数

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 把引用作为函数参数相关的知识,希望对你有一定的参考价值。

 C++ 支持把引用作为参数传给函数,这比传一般的参数更安全。

对于数组和结构这种大的数据,按值传递(pass by value)需要创建副本,占内存费时间,使用引用就只传地址,和按指针传递一样,但是使用起来又比指针简单安全,就是在使用原数据。

#include <iostream>
using namespace std;
 
// 函数声明
void swap(int& x, int& y);
 
int main ()
{
   // 局部变量声明
   int a = 100;
   int b = 200;
 
   cout << "交换前,a 的值:" << a << endl;
   cout << "交换前,b 的值:" << b << endl;
 
   /* 调用函数来交换值 */
   swap(a, b);
 
   cout << "交换后,a 的值:" << a << endl;
   cout << "交换后,b 的值:" << b << endl;
 
   return 0;
}
 
// 函数定义
void swap(int& x, int& y)
{
   int temp;
   temp = x; /* 保存地址 x 的值 */
   x = y;    /* 把 y 赋值给 x */
   y = temp; /* 把 x 赋值给 y  */
  
   return;
}

当上面的代码被编译和执行时,它会产生下列结果:

交换前,a 的值: 100
交换前,b 的值: 200
交换后,a 的值: 200
交换后,b 的值: 100

https://www.runoob.com/cplusplus/cpp-references.html

以上是关于C++ 把引用作为函数参数的主要内容,如果未能解决你的问题,请参考以下文章

C++ 引用包装器作为函数参数

C++入门基础

引用和常量引用作为函数参数的区别?

C++ 堆栈内存没有被释放

C++ vector 作为函数参数的问题

C++ 把引用作为函数返回值