2017-07-07 13 views
1

リストでboost :: fast_pool_allocatorを使ってメモリ割り当てを管理しようとしました。 はここで、boost fast_pool_allocatorで管理されるメモリを解放するには?

boost::fast_pool_allocator<int> alloc; 
    std::list<int, boost::fast_pool_allocator<int>> data_pool(alloc); 
    data_pool.push_back(1); 
    data_pool.push_back(2); 
    data_pool.clear(); 
    boost::singleton_pool<boost::fast_pool_allocator_tag, sizeof(int)>::purge_memory(); 

私が持っているサンプルコードである。しかしpurge_memoryは、メモリを解放することはありません。私はグーグルで、誰かがsizeof(int)がリストノードの正しいサイズではないと言いました。

しかし、purge_memoryを動作させるために正しいリストノードサイズを取得するにはどうすればよいですか?

答えて

1

singleton_pool::release_memory()をコールすると、割り当てられたプールが解放されます。

関連する問題