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)