我有一个像这样的宏:
#define MYDEFINE classX
可能是
#define MYDEFINE classY
在其他地方
其中classX和classY是某种类型名称。
检查
MYDEFINE
是classX
还是classY
的最佳方法是什么? (这里可能有两种以上的类型,所以我正在寻找一些灵活的解决方案)编辑:关于用例,我有一个
config.h
文件供用户定义要使用的类型。我有一些编译时间决定要取决于此配置值,但是不希望更改config.h
的工作方式。我愿意接受C++ / C++ 11中提供的解决方案
最佳答案
常规方法是使用单独的宏在定义之间进行选择
#ifdef USE_X
#define MYDEFINE classX
#else
#define MYDEFINE classY
#endif
并在需要了解时使用
#ifdef USE_X
// ...
#endif