【问题标题】:Macro Operator List宏运算符列表
【发布时间】:2015-05-04 13:17:37
【问题描述】:

我知道 Macro 的 Stringizing 运算符 (#),我最近了解了 (##) 连接运算符:Preprocessor Stringizing Operator with String Literal Prefixes

我还有其他可用的宏运算符吗?

我知道 Boost 有一个非常广泛的套件,它们已经组合在一起,但是出于这个问题的目的,我只是询问标准定义的宏运算符支持。

【问题讨论】:

  • @Cyber​​ 所以从这个列表看来,最终的答案是“否”。没有其他宏运算符。也许将此作为​​答案发布?
  • @Cyber​​ 我已经将您的链接总结为一个答案,因为我可以找到一个与官方 NO 答案最接近的答案。

标签: c++ macros operators c-preprocessor standard-library


【解决方案1】:

正如Cyber's comment 所述,Sringizing (#) 和连接运算符 (##) 是 C++ 中定义的唯一宏运算符:Macro Operator List

此链接还对标准定义的预定义宏列表一无所知。它们也可用于宏中,尽管它们实际上不是运算符。

如果您不了解跨平台兼容性,可能还需要注意 Visual C++ 提供了一种非标准运算符,即字符化运算符 (#@):https://msdn.microsoft.com/en-us/library/91tt6dfs.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多