1
有沒有辦法在標記之前強制預處理器完全評估符號?Force Preprocessor Evaluation Tokenizing
我想要的輸入和輸出示例GFR_SER_##token
,GFR_SER_INT
。
作爲一個例子,我試圖用Boost :: PP做一些預處理器元編程。
粘貼的字符串,它很容易,你只需添加一個水平間接的,如:
#define str(s) xstr(s)
#define xstr(s) #s
然而,這不適用於符號化工作,爲#define xtkz(t) ##t
是非法的,由於在一開始的標記語法的表達。
我使用BOOST_PP_IDENTIFY(s)
,它解決了輸入試過,但不幸的是導致是升壓呼叫如GFR_SER_BOOST_PP_IDENTIFY(s)
的標記化。這個問題有沒有很好的解決方法?