#include<iostream>usingnamespace std;// 指针方式进行交换// 数值传递,有数值拷贝的过程voidswap1(int* x,int* y){*x =*x ^*y;*y =*x ^*y;*x =*x ^*y;}// 引用的方式进行交换// 形参引用的实参,修改形参等价于修改实参// x 将是a的引用, y将是b的引用voidswap2(int& x,int& y){
x = x ^ y;
y = x ^ y;
x = x ^ y;}intmain(void){//int a =3;int b =5;swap1(&a,&b);
cout <<"a="<< a <<", b="<< b << endl;swap2(a, b);
cout <<"a="<< a <<", b="<< b << endl;}