是否有在##
中使用预处理器并置运算符#define
的替代方法,如下所示
#define EXCLUDE_FROM_INSTANTIATION( Type ) \
#define SUPPRESS_##Type \
DO_CRAZY_STUFF() \
#undef SUPPRESS_##Type \
答案 0 :(得分:1)
我不认为可以使用C预处理器完成。最明显的解决方案是运行预处理器两次。这将涉及自定义构建步骤,这对于试图维护代码的人来说并不是直观的。通常,如果您需要类似的东西,那么转向更强大的宏处理器/代码生成器会更有意义。其中一个最常见的免费版本是m4。