C++ 什么是#nomacros(EP003),它还活着吗?
这个有 EP003#诺马克罗斯。见EI001。附注 这是要写的C++ 什么是#nomacros(EP003),它还活着吗?,c++,c++11,c-preprocessor,C++,C++11,C Preprocessor,这个有 EP003#诺马克罗斯。见EI001。附注 这是要写的 粗略地说(或确切地说),什么是#nomacros,它是否可以作为任何地方的扩展?它将是一个有用的诊断工具,它是一个最近的项目,它包括将1995个老式C++文件移植到2005编译器,相比于通过预处理器运行代码和检查.i文件的惊喜包的替代。 < P>这是一个积极考虑的建议,包含在C++中。但在当前的编译器中仍然不可用。如果你再往下读,它会说: ES042#诺斯潘 提供一种预处理器机制,用于限制宏进入和退出作用域。例如: #nomacro
粗略地说(或确切地说),什么是
#nomacros
,它是否可以作为任何地方的扩展?它将是一个有用的诊断工具,它是一个最近的项目,它包括将1995个老式C++文件移植到2005编译器,相比于通过预处理器运行代码和检查.i文件的惊喜包的替代。 < P>这是一个积极考虑的建议,包含在C++中。但在当前的编译器中仍然不可用。如果你再往下读,它会说:
ES042#诺斯潘
提供一种预处理器机制,用于限制宏进入和退出作用域。例如:
#nomacros
#in A B
…
#out A X
#endnomacros
除非由#in显式启用,否则不会在#nomacro和#endnomacro之间展开宏。除非由#out显式启用,否则在#nomacros和#endnomacros之间定义的宏不会在#endnomacros之后定义
比亚恩·斯特劳斯特鲁普的建议。在EWG中讨论后,决定寻找一种解决方案,允许“#in”允许的宏使用的宏仅用于此类宏的扩展
#野马应该筑巢