是否有任何内存分配库可以提供类似talloc 的池并且专门设计用于与C++ 的功能一起使用?
尤其是:
我可以提前预测一个游泳池需要多大。我不会有意外溢出它的风险。
如果我在一个池中分配一个对象,我将不需要回收它的存储,直到整个池被释放。(所以对象可以简单地在池中按顺序分配,不会比插入填充来解释不同类型的对齐造成更多的浪费。)
我需要能够在单个池中分配各种大小和对齐的对象。
我需要将标准库容器的元素存储在池中。(在
std::vector
s 的特殊情况下,我会在构建时设置内部缓冲区的容量,然后我不会尝试进一步增长向量。)
我不想做的是:
- 重新发明析构函数。
- 重新发明例外。
- 重新发明标准库容器。
- 使用
void *
.