我创建了一个自定义内存分配器,如下所示:
class pool_allocator
{
// required methods
// ...
private:
boost::shared_ptr<MemoryChunks> m_t;
};
此分配器的目的是共享由不同容器分配的内存,并且仅在所有容器都被删除时才释放它们。因此,我使用boost::shared_ptr
.
但是在 VS2008 中运行它后,我检测到内存泄漏。我不知道为什么。
如果我更改boost::shared_ptr
为MemoryChunks
,内存泄漏就会消失。