top*_*dev 9 c++ macros c-preprocessor
在C++中是否有这样的宏(交叉编译器或特定于编译器):
#if isclass(NameSpace::MyClass)
会有用的.
Jam*_*lis 10
否.预处理程序和宏由预处理程序进行评估,预处理程序在将代码解析为C++之前完成其任务.预处理器不了解类或命名空间.
cut*_*CAT 8
如果您不关心可移植性,VC++中的__if_exists语句可满足您的需求.
Gre*_*osz 5
在预处理阶段没有这样的东西,所以没有宏.
但是,您可以查看Boost或C++ 0x中可用的is_class类型特征,这些特性使您能够在编译时做出决策.
is_class
sou*_*rge 5
这是不可能的,但您可以使用包含保护常量来验证该类是否已包含在内.
归档时间:
16 年,3 月 前
查看次数:
4170 次
最近记录:
8 年,2 月 前