include
using namespace std;
//int&
void swap3(int& a, int& b) { //引用,传递进来的是实参
int tmp;
tmp = a;
a = b;
b = tmp;
}
void main03() {
int a = 1;
int b = 2;
swap3(a, b);
cout << "a=" << a << endl;
cout << "b=" << b << endl; //交换成功,引用即别名
system("pause");
}
//问题1:int &a与int& a有没有区别? 答:没区别。
int *aPtr = &a; //用aPtr存放a地址
int *bPtr = &b;
swap4(aPtr, bPtr);
cout << "a=" << a << endl;
cout << "b=" << b << endl; //交换成功
system("pause");
}
//int&
//void swap5(int &a, int &b) {} //c++定义失败
//小结:没有&a的形式
int *aPtr = &a; //存放变量a的地址
int *bPtr = &b;
int **aPtr2 = &aPtr; //存放变量a的地址的地址
int **bPtr2 = &bPtr;
swap6(aPtr2, bPtr2);
cout << "a=" << a << endl;
cout << "b=" << b << endl;
system("pause");