一些 C Macro 的技巧 (Part III:將傳入的參數名稱變化)
假設你想要把傳入參數名稱再變化,用 ## 穿插其中:
#define print_three_var(var)
do {
print_var(var);
print_var(var##2);
print_var(var##3);
} while (0)
因為你不能用 var2 來表示 var + "2",所以你必須用 ##。當你傳入 print_three_var(telephone) 時,他會展開成:
print_var(telephone);
print_var(telephone2);
print_var(telephone3);
補充一下:這邊的 print_var() 是 Part II 裡的 print_var()。
Monday, November 16, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment