#include<iostream>
using namespace std;
/*
二 引用
2.3 引用做函数参数
作用:函数传参时,可以利用引用让形参修饰实参
优点:可以简化指针修改实参(在此方面可以代替指针)
*/
void swap_1(int a, int b){
int temp = a;
a = b;
b = temp;
}
void swap_2(int * a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
void swap_3(int & a, int & b){
int temp = a;
a = b;
b = temp;
}
int main(){
int a = 10;
int b = 20;
swap_1(a, b); // 值传递,形参不会修饰实参
cout << a << endl; // 10
cout << b << endl; // 20
swap_2(&a, &b); // 地址传递,形参可以修饰实参
cout << a << endl; // 20
cout << b << endl; // 10
swap_3(a, b); // 引用传递,形参可以修饰实参
cout << a << endl; // 10
cout << b << endl; // 20
return 0;
}