有没有一种方法可以定义一个C预处理器宏,该宏采用C字符并扩展到同名转义字符?例如,macro(n)
将扩展到'n'
,而macro(b)
将扩展到'b'
。
您可以加入一个宏,该宏可以扩展为该字符文字:
#define macro_b() 'b'
#define macro_n() 'n'
#define macro(x) macro_##x()
macro(n) // expands to 'n'
macro(b) // expands to 'b'