除了#定義前處理器指令時,有沒有辦法使用另一個字符?例子:
代替:
#if 1
foo
#endif
使用?,例如:
?if 1
foo
?endif
uj5u.com熱心網友回復:
您有兩個選擇:
- 三合字母:
??=if 1 - 有向圖:
%:if 1
這兩個都是 100% 標準 C,但同時被認為是非常糟糕的做法。然而,主流編譯器傾向于警告三合字母而不是二合字母,所以二合字母可能是較小的邪惡。
uj5u.com熱心網友回復:
存在用于替換某些字符的三字母序列。特別是,該#字符可以替換為??=. 所以下面的代碼是有效的:
??=if 1
foo
??=endif
但是,您不能隨意替換。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/327466.html
