// 值传递voidswap(int a,int b){int tmp = a;
a = b;
b = tmp;}voidprint(int& a,int& b){
cout << a <<" "<< b <<" "<< endl;}intmain(){// 普通引用int a =10;int b =20;swap(a, b);// 没有交换print(a, b);system("pause");}
指针传递
void swap1(int* a, int* b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
void print(int& a, int& b) {
cout << a << " " << b << " " << endl;
}
int main() {
// 普通引用
int a = 10;
int b = 20;
swap1(&a, &b);// 发生交换
print(a, b);
system("pause");
}
引用传递
// 引用传递voidswap2(int&a,int&b){int tmp = a;
a = b;
b = tmp;}voidprint(int& a,int& b){
cout << a <<" "<< b <<" "<< endl;}intmain(){// 普通引用int a =10;int b =20;swap2(a, b);// 交换print(a, b);system("pause");}