Boost Pool 库提供了一个内存池分配器,它是一个工具,用于管理在一个独立的、大的分配空间里的动 态内存。当你需要分配和回收许多不的对象或需要更高效的内存控制时,使用内存池是一个好的 解决方案。
Boost库的pool主要适用于快速分配同样大小的内存块,尤其是反复分配和释放同样大小的内存块的情况。使用pool内存池主要有以下两个优点:
(1) 能够有效地管理许多小型对象的分配和释放工作,避免了自己去管理内存而产生的内存碎片和效率低下问题。
(2)告别程序内存泄漏的烦恼,pool库会在内部对内存自动进行管理,避免了程序员一不小心而造成的内存泄漏问题。
pool库主要提供了四种内存池接口,分别是:pool、object_pool、singleton_pool和pool_allocator/fast_pool_allocator
一、pool
pool是最简单也最容易使用的内存池类,可以返回一个简单数据类型的内存指针。它很容易使用,可以像C中的malloc()一样分配内存,然后随意使用。除非有特殊要求,