自定义内存管理器抽象
Custom memory manager abstraction
我正在进行的项目需要自定义内存管理,因为它使用了大量的分配和释放。我需要实现类似堆栈的内存和一些自定义的类似堆的内存,它们在我的应用程序中工作得很快。此外,只要可能,我需要STL容器使用这些自定义分配器。
现在,我不熟悉实现自定义内存管理器的最佳实践,我有其他优先事项要期待。
因此,考虑到上述需求,我正在寻找一种抽象内存管理内部的优雅方式,以便它现在可以只使用new
和delete
,并且在需要时可以更改为自定义分配器而不会有太多麻烦?
c++中自定义内存分配器的标准接口是Allocator概念。
默认的实现,std::allocator
,使用new
和delete
,但你可以提供你自己的以后,如果你符合接口,你可以使用它与标准集合
您可以编写一个函数或类来提供这两个函数,如Pool::New() and Pool::Delete()
,并使用原始new and delete
实现,当您准备好时真正设计它。
可能需要一些简单的模板技术。刚刚模板化了(成员)函数
相关文章:
- 如何维护资源管理器项目视图中当前可见的项目列表
- 使用"Task"函数指针队列定义作业管理器
- 实现动态插件管理器
- 编译器资源管理器和 GCC 具有不同的输出
- Windows 资源管理器中的图标在使用 resource.rc 时显示 2 个不同的图标
- C++ 事件管理器的回调,使用 std::function 和 std:bind 以及派生类作为参数
- Linux 包管理器如何处理 C++20 个模块?
- 编译器资源管理器(godbolt)如何安全地运行代码?
- 创建跨平台 C++ 触摸管理器.在 c++ 中传递 Objective-c 对象涉及代码
- 从 GUI 文件资源管理器执行程序,并且不生成终端
- 自定义内存管理器在发布模式下工作正常,但在调试模式下则不然
- 无法删除EXE崩溃后,即使进程未显示在任务管理器中
- 任务管理器 - C/C++ 应用程序 - 分配的地址空间与已用内存
- 如何以编程方式获取任务管理器进程CPU使用率(不是PerfMon API)
- 管理器类和对象类之间的通信
- WinDBG适用于从Visual Studio 2015保存的转储,但不适用于任务管理器。显示异常代码"not found"
- 在C++中将系统与ECS(实体组件系统)管理器分离
- 是否可以检索与柯南包管理器一起打包的库的源代码,以便在其中进行调试?
- C++ 实体和管理器抽象设计
- 自定义内存管理器抽象