如何在C ++中为抽象基类创建池分配器?

时间:2010-09-29 18:44:01

标签: c++ memory-management abstract-class pool

与glibc的malloc():http://sourceware.org/bugzilla/show_bug.cgi?id=4349碰到了一个错误,我正在考虑解决这个问题,直到更新到更高版本的glibc是为有很多实例来来往往的小对象进行池化分配。

小对象都是从抽象基类派生的。我想找到一个好的模式(使用boost是可以的)在基类中自动提供池分配,并使它适用于许多派生类。

这是通过在抽象基类中定义运算符new()来完成的吗?如何为每个可能具有不同实际内存大小的派生类组织不同的池?

1 个答案:

答案 0 :(得分:1)

一个明显的出发点是Boost Pool库。不幸的是,你想要的模型是它尚未提供的模型,尽管它被列为“未来方向”下的唯一项目。 OTOH,这个库现在还没有更新。它很快被更新以包含该模型的机会似乎有点遥远(至少对我而言)。