C99標準,並具有鬧明白這一點:預處理器中的Placemarker和非地標標記?
c99 - 6.10.3.3
Semantics
3
---(第二句)
Placemarker preprocessing tokens
會被特殊處理:兩個地點標記導致單個placemarker預處理標記和級聯串接地點標記 與non-placemarker preprocessing token
導致非地標標記預處理令牌。
如果結果不是有效的預處理標記,則行爲未定義。
1.What does this `placemarker` and `non-placemarker` term mean exactly?
2.Why the last line says : `undefined behaviour` ?
我讀了10次以上,但仍然對這些技術名稱感到困惑。
任何幫助例子和小解釋將幫助我更多。
是的,這很好,你已經引用了,但我的問題很清楚,什麼是placemaker和非placemaker令牌。它只是寫成:'「但是,如果一個參數不包含預處理標記,則該參數會被替換爲地標標記預處理標記,而不是」「,但它對於placemaker沒有任何說明。 – Omkant
也''行爲是未定義的''和'「未定義的行爲」'他們是不同的? – Omkant
首先,它是「placemarker」,而不是「placemaker」。其次,就是這樣:一個特殊的標記,用於標記不包含令牌的參數在哪裏展開。 – melpomene