次のようなカスタムメモリアロケータを作成します。
class pool_allocator
{
// required methods
// ...
private:
boost::shared_ptr<MemoryChunks> m_t;
};
このアロケータの目的は、異なるコンテナによって割り当てられたメモリを共有し、すべてのコンテナが削除された場合にのみそれらの割り当てを解除することです。したがって、私はを使用しますboost::shared_ptr。
しかし、VS2008で実行した後、メモリリークを検出しました。どうしてか分かりません。
に変更boost::shared_ptrするMemoryChunksと、メモリリークがなくなります。