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)