【发布时间】:2012-11-09 20:00:08
【问题描述】:
有没有办法设计一个可以在 O(1) 内分配和释放内存的 C++ 内存池(仅限特定类)?
假设我有 T 类,我想在需要时只分配 100*sizeof(T) 的块。但是,我该如何处理在块中删除特定对象时发生的碎片?我可以为每个插槽设置一个布尔值来判断插槽是否被占用,但是我需要一个算法来给我下一个空闲插槽。
是否有任何标准方法可以在 O(1) 中实现这一点?我想这是一个相当普遍的事情
编辑: 图片看看我的意思
【问题讨论】:
-
我不明白这对我有什么帮助...也许我的问题不清楚?
-
你想要free list之类的东西。
标签: c++ memory-management