簡體   English   中英

C / C ++自定義分配器內存泄漏

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM