#include<iostream>
using namespace std;
void test(int a, int b) //值传递,形参不会修饰实参
{
//交换代码
int temp = a;
a = b;
b = temp;
}
void test2(int * a, int * b)//地址传递,形参可以修饰实参
{
//交换代码
int temp = *a;
*a = *b;
*b = temp;
}
void test3(int &a, int &b)//引用传递,形参可以修饰实参
{
int temp = a;
a = b;
b = temp;
}
int main (){
int a = 10;
int b = 20;
test(a, b);//值传递,形参不会修饰实参
cout << "值传递" << endl;
cout << a << endl;
cout << b << endl;
cout << endl;
test2(&a, &b);//地址传递,形参可以修饰实参
cout << "地址传递" << endl;
cout << a << endl;
cout << b << endl;
cout << endl;
test3(a, b);//引用传递,形参可以修饰实参
cout << "引用传递" << endl;
cout << a << endl;
cout << b << endl;
return 0;
}
运行结果: