在 C++ 中分配和释放类整数句柄的快速算法

Fast algorithm to allocate and release integer-like handles in C++

我需要一个 class 可以分配一个唯一的整数(句柄)并将其分配给某个对象。 然后释放它以备后用。 这个算法应该很快。我应该使用什么数据结构? vector访问数据快,但擦除或添加时间长(但也很重要),list访问数据时间长。 也许你知道一些好的实现? 提前致谢!

我会简单地使用 64 位整数。对于分配,我会使用一个简单的计数器。要解除分配...好吧,我只是忽略释放句柄的请求。

您可以忽略重新分配,因为使用 64 位句柄,您可以毫不夸张地一次分配句柄数十年,甚至不会接近 运行 个要分配的新句柄。