inline void Swap1(int &a, int &b)
{
if (a != b)
{
a ^= b;
b ^= a;
a ^= b;
}
}
判断不能漏,因为如果a, b指向的是同一个数,那么调用Swap1()函数会使这个数为0(第一步a^=b导致a=0,b和a为同一个值得引用所以b也为零,第2、3步都是0^0得情况)。
inline void Swap1(int &a, int &b)
{
if (a != b)
{
a ^= b;
b ^= a;
a ^= b;
}
}
判断不能漏,因为如果a, b指向的是同一个数,那么调用Swap1()函数会使这个数为0(第一步a^=b导致a=0,b和a为同一个值得引用所以b也为零,第2、3步都是0^0得情况)。