21xrx.com
2024-12-23 02:16:46 Monday
登录
文章检索 我的文章 写文章
C++中的函数参数传递方式
2023-06-23 01:07:29 深夜i     --     --
C++ 函数 参数 传递方式

函数是C++程序的基本组成部分之一,通过它,我们可以实现代码的模块化和复用,提高程序的可读性和可维护性。而在函数中,参数的传递方式也是一个重要的知识点。

C++中的函数参数传递方式主要有3种:值传递、引用传递和指针传递。

1. 值传递

值传递是指在调用函数时,将实参的副本传递给形参进行处理。函数内部对形参的修改并不会影响到实参的值。

实例如下:


void swap(int a, int b)

  int temp = a;

  a = b;

  b = temp;

int main(){

  int x = 1, y = 2;

  swap(x, y);

  cout << x << " " << y << endl;

  return 0;

}

输出结果为:“1 2”,即函数内部对x和y的交换并没有影响到main函数中x和y的值。

2. 引用传递

引用传递是指在调用函数时,将实参的地址传递给形参,形参和实参指向同一块内存空间。因此,函数内部对形参的修改会直接影响到实参的值。

实例如下:


void swap(int& a, int& b)

  int temp = a;

  a = b;

  b = temp;

int main(){

  int x = 1, y = 2;

  swap(x, y);

  cout << x << " " << y << endl;

  return 0;

}

输出结果为:“2 1”,即函数内部对x和y的交换直接影响到了main函数中x和y的值。

3. 指针传递

指针传递是指在调用函数时,将实参的指针传递给形参进行处理。函数内部通过指针间接操作实参的值。

实例如下:


void swap(int* a, int* b){

  int temp = *a;

  *a = *b;

  *b = temp;

}

int main(){

  int x = 1, y = 2;

  swap(&x, &y);

  cout << x << " " << y << endl;

  return 0;

}

输出结果为:“2 1”,与引用传递类似,函数内部对x和y的交换间接影响到了main函数中x和y的值。

需要注意的是,在使用指针传递时,需要注意指针的空指针和野指针问题,以及指针的安全释放。

总的来说,不同的参数传递方式都有其适用的场景,需要根据具体需求进行选择。在实际开发中,灵活运用这些参数传递方式可以提高程序的效率和可维护性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复