#include<iostream>usingnamespace std;// 指针传递voidswap3(int*a,int*b){int temp =*a;*a =*b;*b = temp;
cout <<"swap3 function, value of a="<<*a <<";address is:"<< a << endl;
cout <<"swap3 function, value of b="<<*b <<";address is:"<< b << endl;}// 引用传递voidswap2(int&a,int&b){int temp = a;
a = b;
b = temp;
cout <<"swap2 function, value of a="<< a <<";address is:"<<&a << endl;
cout <<"swap2 function, value of b="<< b <<";address is:"<<&b << endl;}// 值传递voidswap1(int a,int b){int temp = a;
a = b;
b = temp;
cout <<"swap1 function, value of a="<< a <<";address is:"<<&a << endl;
cout <<"swap1 function, value of b="<< b <<";address is:"<<&b << endl;}intmain(){int a1 =10;int b1 =20;int a2 =10;int b2 =20;int a3 =10;int b3 =20;swap1(a1, b1);
cout <<"main function, value of a="<< a1 <<";address is:"<<&a1 << endl;
cout <<"main function, value of b="<< b1 <<";address is:"<<&b1 << endl << endl;swap2(a2, b2);
cout <<"main function, value of a="<< a2 <<";address is:"<<&a2 << endl;
cout <<"main function, value of b="<< b2 <<";address is:"<<&b2 << endl << endl;swap3(&a3,&b3);
cout <<"main function, value of a="<< a3 <<";address is:"<<&a3 << endl;
cout <<"main function, value of b="<< b3 <<";address is:"<<&b3 << endl << endl;}
输出结果
swap1 function, value of a=20;address is:0x61fee0
swap1 function, value of b=10;address is:0x61fee4
main function, value of a=10;address is:0x61ff0c
main function, value of b=20;address is:0x61ff08
swap2 function, value of a=20;address is:0x61ff04
swap2 function, value of b=10;address is:0x61ff00
main function, value of a=20;address is:0x61ff04
main function, value of b=10;address is:0x61ff00
swap3 function, value of a=20;address is:0x61fefc
swap3 function, value of b=10;address is:0x61fef8
main function, value of a=20;address is:0x61fefc
main function, value of b=10;address is:0x61fef8