在 C++ 中分配和释放类整数句柄的快速算法
Fast algorithm to allocate and release integer-like handles in C++
我需要一个 class 可以分配一个唯一的整数(句柄)并将其分配给某个对象。
然后释放它以备后用。
这个算法应该很快。我应该使用什么数据结构? vector
访问数据快,但擦除或添加时间长(但也很重要),list
访问数据时间长。
也许你知道一些好的实现?
提前致谢!
我会简单地使用 64 位整数。对于分配,我会使用一个简单的计数器。要解除分配...好吧,我只是忽略释放句柄的请求。
您可以忽略重新分配,因为使用 64 位句柄,您可以毫不夸张地一次分配句柄数十年,甚至不会接近 运行 个要分配的新句柄。
我需要一个 class 可以分配一个唯一的整数(句柄)并将其分配给某个对象。
然后释放它以备后用。
这个算法应该很快。我应该使用什么数据结构? vector
访问数据快,但擦除或添加时间长(但也很重要),list
访问数据时间长。
也许你知道一些好的实现?
提前致谢!
我会简单地使用 64 位整数。对于分配,我会使用一个简单的计数器。要解除分配...好吧,我只是忽略释放句柄的请求。
您可以忽略重新分配,因为使用 64 位句柄,您可以毫不夸张地一次分配句柄数十年,甚至不会接近 运行 个要分配的新句柄。