21xrx.com
2025-03-31 08:51:39 Monday
文章检索 我的文章 写文章
C++函数调用详解
2023-06-29 00:08:54 深夜i     12     0
函数调用 参数传递 返回值 堆栈 命令行参数

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++编程中函数的使用。

  
  

评论区