#include<iostream>
using namespace std;
//交换函数
//1值传递
void mySwap01(int a,int b)//形参
{
int temp = a;
a = b;
b = temp;
}
//2地址传递,指针解引用
void mySwap02(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
//3引用传递
//形参&a是实参a的别名,两者改同一个数据
void mySwap03(int &a,int &b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10;
int b = 20;
mySwap01(a, b);//实参
cout << "a=" << a << endl;
cout << "b=" << b << endl;
mySwap02(&a, &b);//地址传递:形参修饰实参
cout << "a=" << a << endl;
cout << "b=" << b << endl;
mySwap03(a, b);//引用传递,形参也会修饰实参
cout << "a=" << a << endl;
cout << "b=" << b << endl;
return 0;
}
形参在调用的时候才会分配内存,调用结束立即释放;实参最初就会分配内存。
这篇博客介绍了C++中三种常见的函数参数传递方式:值传递、指针传递和引用传递。通过示例代码展示了它们如何影响变量的值,并解释了各自的优缺点。值传递会创建变量副本,不改变原始值;指针传递通过地址修改变量;引用传递作为别名,直接修改原始变量。

被折叠的 条评论
为什么被折叠?



