gpt4 book ai didi

c++ - C++中,如何使用单例来保证每个类都有唯一的整数ID?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:04 26 4
gpt4 key购买 nike

我有一堆 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com