2
我正在使用TBB自定義內存分配器。如何爲動態分配的stl容器設置分配器?
tbb::memory_pool<std::allocator<char>> shortTermPool;
typedef tbb::memory_pool_allocator<Result*> custom_allocator;
std::vector<Result*,custom_allocator>* results =(std::vector<Result*,custom_allocator>*)shortTermPool.malloc(sizeof(std::vector<Result*,custom_allocator>));
問題是設置分配器是在構造函數中。 Malloc不會調用構造函數。默認的用法是這樣的:
tbb::memory_pool<std::allocator<char>> shortTermPool;
typedef tbb::memory_pool_allocator<Result*> custom_allocator;
std::vector<Result*,custom_allocator> results (custom_allocator(shortTermPool));
有沒有辦法做了STL容器的一個malloc,再後來分配一個自定義分配器?
能以這種方式使用C++ 11未初始化的存儲與自定義分配器嗎? – fish2000