首页 > 后端开发 > C++ > 正文

C/C++中的参数传递技术

WBOY
发布: 2023-08-31 13:41:06
转载
808 人浏览过

C/C++中的参数传递技术

在 C 中,我们可以通过两种不同的方式传递参数。这些是按值调用和按地址调用,在C++中,我们可以得到另一种技术。这称为通过引用调用。让我们看看它们的效果以及它们是如何工作的。

首先我们将看到按值调用。在这种技术中,参数被复制到函数参数中。因此,如果进行了一些修改,这将更新复制的值,而不是实际值。

示例

#include <iostream>
using namespace std;
void my_swap(int x, int y) {
   int temp;
   temp = x;
   x = y;
   y = temp;
}
int main() {
   int a, b;
   a = 10;
   b = 40;
   cout << "(a,b) = (" << a << ", " << b << ")\n";
   my_swap(a, b);
   cout << "(a,b) = (" << a << ", " << b << ")\n";
}
登录后复制

输出

(a,b) = (10, 40)
(a,b) = (10, 40)
登录后复制

按地址调用的工作原理是将变量的地址传递到函数中。因此,当函数更新该地址指向的值时,实际值将自动更新。

示例

#include <iostream>
using namespace std;
void my_swap(int *x, int *y) {
   int temp;
   temp = *x;
   *x = *y;
   *y = temp;
}
int main() {
   int a, b;
   a = 10;
   b = 40;
   cout << "(a,b) = (" << a << ", " << b << ")\n";
   my_swap(&a, &b);
   cout << "(a,b) = (" << a << ", " << b << ")\n";
}
登录后复制

输出

(a,b) = (10, 40)
(a,b) = (40, 10)
登录后复制
登录后复制

与地址调用一样,这里我们使用引用调用。这是 C++ 特有的功能。我们必须传递参数的引用变量,因此为了更新它,实际值将被更新。仅在函数定义时,我们必须将 & 放在变量名之前。

示例

#include <iostream>
using namespace std;
void my_swap(int &x, int &y) {
   int temp;
   temp = x;
   x = y;
   y = temp;
}
int main() {
   int a, b;
   a = 10;
   b = 40;
   cout << "(a,b) = (" << a << ", " << b << ")\n";
   my_swap(a, b);
   cout << "(a,b) = (" << a << ", " << b << ")\n";
}
登录后复制

输出

(a,b) = (10, 40)
(a,b) = (40, 10)
登录后复制
登录后复制

以上是C/C++中的参数传递技术的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板