在 C++ 中有没有办法在编译时自动生成多个文件的常量?就像枚举在单个文件中自动生成常量一样,但常量在多个文件中必须是唯一的。
例如:
类基础.hpp
classBase{
//blah blah
};
A类.hpp
class childA : public classBase{
private:
static const unsigned int mID = NEXT_ID;
};
B类.hpp
class childB : public classBase{
private:
static const unsigned int mID = NEXT_ID;
};
C类.hpp
class childC : public classBase{
private:
static const unsigned int mID = NEXT_ID;
};
所以在这种情况下,从 classBase 继承的每个类都会自动分配下一个 ID(0、1、2...)
我想有一种方法可以用#define
s 来做,但我不知道有什么方法可以在#define
每次分配给它时自动递增 a,有没有办法做到这一点?