21xrx.com
2024-09-20 00:00:35 Friday
登录
文章检索 我的文章 写文章
C++函数调用详解
2023-06-29 00:08:54 深夜i     --     --
函数调用 参数传递 返回值 堆栈 命令行参数

C++是一种面向对象的编程语言,在C++中函数的调用方式有很多种。本文将详细讲解C++函数的调用方法,旨在帮助初学者更好地理解C++编程中函数的使用。

1. 值传递

当我们以值传递的方式调用C++函数时,参数的值将被复制到函数的形参中,函数中对形参的修改不会影响到实参。

例如:


#include <iostream>

using namespace std;

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=" << x << ", y=" << y << endl;

  return 0;

}

输出结果:


x=1, y=2

我们可以看到,虽然在swap函数中x和y的值被互换了,但是在主函数中x和y的值并没有发生变化,这说明函数中对形参进行修改不会影响到实参。

2. 引用传递

引用传递是指将参数的引用传递给函数。在函数中对引用的修改会直接影响到实参。

例如:


#include <iostream>

using namespace std;

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=" << x << ", y=" << y << endl;

  return 0;

}

输出结果:


x=2, y=1

我们可以看到,使用引用传递的方式可以使函数对实参进行修改。

3. 指针传递

指针传递是指将参数的指针传递给函数。在函数中通过指针可以对参数进行修改,从而影响到实参。

例如:


#include <iostream>

using namespace std;

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=" << x << ", y=" << y << endl;

  return 0;

}

输出结果:


x=2, y=1

我们可以看到,指针传递的方式同样可以使函数对实参进行修改。

4. 函数返回值

函数返回值是指函数执行完毕后返回一个值给调用者。在C++中,可以使用return关键字返回一个值。

例如:


#include <iostream>

using namespace std;

int add(int a, int b) {

  return a + b;

}

int main() {

  int x = 1, y = 2;

  int result = add(x, y);

  cout << "result=" << result << endl;

  return 0;

}

输出结果:


result=3

我们可以看到,函数的返回值能够将计算结果传递给调用者。

本文对C++中常见的函数调用方式进行了详细的介绍和实例演示。希望能够帮助读者更好地理解和掌握C++编程中函数的使用。

  
  

评论区

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