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

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

glibc 的 malloc() 遇到了错误:http://sourceware.org/bugzilla/show_bug.cgi?id=4349并且我正在考虑暂时解决,直到更新到更高版本的 glibc 是为有许多实例来来去去的小对象进行池分配。

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

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

最佳答案

一个明显的起点是 Boost Pool图书馆。不幸的是,您想要的模型尚未提供,尽管它被列为“ future 方向”下的唯一项目。 OTOH,这个库已经有一段时间没有更新了。它很快被更新以包含该模型的机会似乎有点遥远(至少对我而言)。

关于c++ - 如何在 C++ 中为抽象基类创建池分配器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3824822/

相关文章:

android - 我的 android 应用程序占用大量内存

ios - b2Body 太多?

c++ - QML Component 'Video' 无法播放来自Qt资源文件的视频文件

c# - 将 C++ 文件读取/写入转换为 C# 文件读取/写入

java - 关闭 JavaFX 选项卡不会释放内存

java - 用 Java 编写通用迭代器

php - 完成抽象类的常见做法是什么?

design-patterns - 具有共享方法的 swift 抽象类

c++ - 激活填料和盐

c++ - C++ 中的私有(private)函数与静态函数