gpt4 book ai didi

c++ - 静态计数器 - 如何使 ID 不改变 [C++]

转载 作者:搜寻专家 更新时间:2023-10-31 02:11:25 25 4
gpt4 key购买 nike

我试图为每个创建的对象设置一个唯一的 ID,同时还要跟踪已创建的对象实例的数量。但似乎当调用析构函数并且计数器减少时,ID 随之改变。

.h

   class Objekt
{
public:
Objekt();
~Objekt();

int ID;
static int get_counter();

private:
static int counter;

};

.cpp

#include "Objekt.h"



Objekt::Objekt()
{
counter++;
ID = counter;
}


Objekt::~Objekt()
{
--counter;
}

int Objekt::get_counter()
{
return counter;
}

最佳答案

如果您想要一个唯一的 ID,您需要有两个计数器:(1) 事件对象的数量和 (2) 创建的对象数量 [以创建 ID]。

此处您的系统将创建具有重复 ID 的对象。

关于c++ - 静态计数器 - 如何使 ID 不改变 [C++],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43574149/

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