
在 C 中,我们可以通过两种不同的方式传递参数。这些是按值调用和按地址调用,在C++中,我们可以得到另一种技术。这称为通过引用调用。让我们看看它们的效果以及它们是如何工作的。
首先我们将看到按值调用。在这种技术中,参数被复制到函数参数中。因此,如果进行了一些修改,这将更新复制的值,而不是实际值。
示例
#include 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 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++免费学习笔记(深入)”;
示例
#include 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++中的参数传递技术的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1444170.html
微信扫一扫
支付宝扫一扫