#include <iostream>
using std::cout;
using std::endl;
//将引用作为函数参数来使用
#if 0
//值传递 ==> 复制
void swap(int x, int y)
{
int temp = x;
x = y;
y = temp;
}
#endif
//地址传递 ==> 值传递 ==> 进行复制
void swap(int * px, int * py)//这个可以实现交换
{
int temp = *px;
*px = *py;
*py = temp;
}
//引用传递 ==> 没有复制的开销,直接操作实参,能够提升程序的执行效率
//使用起来更直观,更好理解
void swap(int & x, int & y) //这个也可以交换
{
int temp = x;
x = y;
y = temp;
}
int main(void)
{
int a = 1, b = 2;
cout << "a = " << a << ", b = " << b << endl; //a=1,b=2
swap(a, b);
cout << "a = " << a << ", b = " << b << endl; //a=2,b=1
return 0;
}