【发布时间】:2013-05-16 10:49:28
【问题描述】:
在 C++ 中,有没有办法在编译时自动为多个文件生成常量? 就像枚举在单个文件中自动生成常量一样,但常量在多个文件中必须是唯一的。
例如:
classBase.hpp
classBase{
//blah blah
};
classA.hpp
class childA : public classBase{
private:
static const unsigned int mID = NEXT_ID;
};
classB.hpp
class childB : public classBase{
private:
static const unsigned int mID = NEXT_ID;
};
classC.hpp
class childC : public classBase{
private:
static const unsigned int mID = NEXT_ID;
};
所以在这种情况下,从 classBase 继承的每个类都会自动分配下一个 ID(0、1、2...)
我猜想有一种方法可以使用 #define s 来实现,但我不知道有什么方法可以在每次分配给它时自动增加 #define,有没有办法做到这一点?
【问题讨论】:
标签: c++ enums constants c-preprocessor