11.2 怎麼寫一個一般用途的宏交換兩個值?
對於這個問題沒有什麼好的答案。如果這兩個值是整數,
可以使用異或的技術, 但是這對浮點值或指針卻不行,
對同一個值也無能為力。 (參見問題 3.4 和 20.14。)
如果希望這個宏用於任何類型 (通常的目標), 那麼它不能使用臨時變量,
因為不知道需要什麼類型的臨時變量 (即使知道也難以找出一個名字),
而且標準 C 也沒有提供 typeof 操作符。
最好的全面解決方案可能就是忘掉宏這回事, 除非你還準備把類型作為
第三個參數傳入。
翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)