[英]C/C++ custom allocator memory leak
我創建一個自定義內存分配器,如下所示:
class pool_allocator
{
// required methods
// ...
private:
boost::shared_ptr<MemoryChunks> m_t;
};
該分配器的目的是共享由不同容器分配的內存,並且僅在所有容器都已刪除時才將其釋放。 因此,我使用boost::shared_ptr
。
但是,在VS2008中運行它之后,我檢測到內存泄漏。 我不知道為什么
如果將boost::shared_ptr
更改為MemoryChunks
,則內存泄漏將消失。
您是否知道在C ++ 03中將分配器視為無狀態? 嘗試將您的分配器與Boost.Containers(剛剛被接受,但我認為它們已經是Boost.Interprocess的一部分)結合使用,它尊重分配器。 沒有MemoryChunks
的定義,要說其他什么都不容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.