21.14 怎样不用临时变量而交换两个值?

一个标准而古老的汇编程序员的技巧是:
    a ^= b;
    b ^= a;
    a ^= b;
但是这样的代码在现代高级程序设计语言中没什么用处。 临时变量基本上是自由使用的, 一般上的三个赋值是:
    int t = a;
    a = b;
    b = t;
这不只对读者更清晰, 更有可能被编译器辨别出来而 变成最有效的代码 (例如有可能使用 EXCH 指令)。 后面的代码明显的可以用于指针和浮点值, 而不象  XOR 技巧只能用于整型。参见问题 3.4 和 10.2

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)