Я создаю пользовательский распределитель памяти, как показано ниже:
class pool_allocator
{
// required methods
// ...
private:
boost::shared_ptr<MemoryChunks> m_t;
};
Цель этого распределителя состоит в том, чтобы распределять память, выделяемую другим контейнером, и освобождать их только тогда, когда весь контейнер удален.поэтому я использую boost::shared_ptr
.
Однако после запуска в VS2008 я обнаружил утечку памяти.Я не знаю почему.
Если я изменю boost::shared_ptr
на MemoryChunks
, утечка памяти исчезнет.