大家对于异或(XOR)的如下性质应该很熟悉:
(X XOR Y) XOR Y = X
(X XOR Y) XOR X = Y
我们可以利用异或(XOR)的这个性质来实现不用临时变量交换两个变量的值。具体代码很简单:
void
Swap(
int
&
x,
int
&
y)
{
x = x ^ y;
y = x ^ y;
x = x ^ y;
}
{
x = x ^ y;
y = x ^ y;
x = x ^ y;
}
引用:http://blog.csdn.net/starlee/article/details/599611