我知道Macro的Stringizing运算符(#
),我最近了解了(##
)Concatenation运算符:Preprocessor Stringizing Operator with String Literal Prefixes
我还有其他可用的宏操作符吗?
我知道Boost有一个非常广泛的套件,但是出于这个问题的目的,我只是询问标准定义的Macro运营商支持。
答案 0 :(得分:1)
正如Cyber's comment所提到的,Sringizing(#
)和连接运算符(##
)是C ++中定义的唯一宏运算符:Macro Operator List
此链接还标识了标准定义的预定义宏列表。哪些也可以在宏中使用,尽管它们实际上不是运算符。
如果您没有进入跨平台兼容性,那么值得注意的是,Visual C ++提供了一个非标准运算符,即Charizing运算符(#@
):https://msdn.microsoft.com/en-us/library/91tt6dfs.aspx