我有一堆 C++ 类。
我希望每个类(class)都有这样的东西:
static int unique_id;
同一个类的所有实例都应该有相同的unique_id;不同的类应该有不同的 unique_id。
执行此操作的最简单方法似乎是通过类线程化单例。
但是,我不知道什么时候调用静态类成员/发生在 main 之前的事情。
(1) 如果你有一个不涉及使用单例的解决方案,那也没关系
(2) 如果你有一个解决方案给我:
int unique_id();
那也很好。
谢谢!
最佳答案
有一个在每次创建时递增其 ID 的类。然后将该类用作每个应该具有 ID 的对象中的静态字段。
class ID
{
int id;
public:
ID() {
static int counter = 0;
id = counter++;
}
int get_id() { return id; }
};
class MyClass
{
static ID id;
public:
static int get_id()
{
return id.get_id();
}
};
关于c++ - C++中,如何使用单例来保证每个类都有唯一的整数ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2172879/