自定义内存管理器抽象

Custom memory manager abstraction

本文关键字:抽象 管理器 内存 自定义      更新时间:2023-10-16

我正在进行的项目需要自定义内存管理,因为它使用了大量的分配和释放。我需要实现类似堆栈的内存和一些自定义的类似堆的内存,它们在我的应用程序中工作得很快。此外,只要可能,我需要STL容器使用这些自定义分配器。

现在,我不熟悉实现自定义内存管理器的最佳实践,我有其他优先事项要期待。

因此,考虑到上述需求,我正在寻找一种抽象内存管理内部的优雅方式,以便它现在可以只使用newdelete,并且在需要时可以更改为自定义分配器而不会有太多麻烦?

请原谅我使用了错误的术语!

c++中自定义内存分配器的标准接口是Allocator概念。

默认的实现,std::allocator,使用newdelete,但你可以提供你自己的以后,如果你符合接口,你可以使用它与标准集合

您可以编写一个函数或类来提供这两个函数,如Pool::New() and Pool::Delete(),并使用原始new and delete实现,当您准备好时真正设计它。

可能需要一些简单的模板技术。刚刚模板化了(成员)函数