为什么 boost::fast_pool_allocator 建立在单例池之上,而不是每个分配器实例的单独池?或者换句话说,为什么只提供这个,而不是每个分配器都有一个池的选项?这样做会是个坏主意吗?
我有一个类在内部使用大约 10 种不同的 boost::unordered_map 类型。如果我使用了 std::allocator,那么当它调用 delete 时,所有内存都会回到系统中,而现在我必须在某些时候在许多不同的分配器类型上调用 release_memory。我会愚蠢地推出我自己的使用 pool 而不是 singleton_pool 的分配器吗?
谢谢