代码之家  ›  专栏  ›  技术社区  ›  Thomas L Holaday

什么是#nomacros(EP003),它还活着吗?

  •  3
  • Thomas L Holaday  · 技术社区  · 17 年前

    这个 Evolution WG Issues List of 14 February 2004 有

    EP003#诺马克罗斯。见EI001。附注

    粗略地(或准确地)说,什么是 #nomacros ,它是否可以作为任何地方的扩展?这将是一个有用的诊断工具,在最近的一个项目中,将1995个老式的C++文件移植到2005编译器,相比于通过预处理器运行代码和检查.i文件的惊喜包。

    1 回复  |  直到 10 年前
        1
  •  1
  •   e.tadeu    17 年前

    这只是一个主动考虑的建议,包含在C++中,但在当前编译器中仍然不可用。如果你再往下读,它会说:

    ES042#诺斯潘。

    提供一种预处理器机制,用于限制宏进入和退出作用域。例如:

    #nomacros
    #in A B
    …
    #out A X
    #endnomacros
    

    除非由#in显式启用,否则不会在#nomacro和#endnomacro之间展开宏。除非由#out显式启用,否则在#nomacros和#endnomacros之间定义的宏不会在#endnomacros之后定义。

    #野马应该筑巢。