如何释放由提升fast_pool_allocator管理的内存?

How to release memory managed by boost fast_pool_allocator?

本文关键字:allocator pool 管理 内存 fast 何释放 释放      更新时间:2023-10-16

我尝试在列表中使用boost::fast_pool_allocator来管理内存分配。 这是我拥有的示例代码,

boost::fast_pool_allocator<int> alloc;
std::list<int, boost::fast_pool_allocator<int>> data_pool(alloc);
data_pool.push_back(1);
data_pool.push_back(2);
data_pool.clear();
boost::singleton_pool<boost::fast_pool_allocator_tag, sizeof(int)>::purge_memory();

但purge_memory永远不会释放内存。我用谷歌搜索,看到有人提到 sizeof(int( 不是列表节点的正确大小。

但是,如何获得正确的列表节点大小以使purge_memory正常工作?

调用singleton_pool::release_memory()释放分配的池。