2010-09-29 60 views
1

已經遇到了glibc的malloc():http://sourceware.org/bugzilla/show_bug.cgi?id=4349的一個bug,我現在正在考慮解決一個問題,直到更新到glibc的更高版本,它將爲有許多實例來來去去的小對象做分配分配。如何在C++中爲抽象基類創建池分配器?

小對象都來自抽象基類。我想找到一個好的模式(使用boost可以),以便在基類中自動提供池分配,並使它適用於許多派生類。

這是通過在抽象基類中定義一個運算符new()來完成的嗎?如何爲每個可能具有不同實際內存大小的派生類組織不同的池?

回答

1

一個明顯的出發點是Boost Pool庫。不幸的是,你想要的模型是它現在還沒有提供的模型,雖然它被列爲「未來方向」下的唯一項目。 OTOH,這個庫現在還沒有更新。更新其包含該模型的機會似乎很遙遠(至少對我而言)。