1
如果使用升壓池庫,你會如何替換以下語句:
MyStruct *someStruct = (MyStruct *) calloc(numOfElements, sizeof(MyStruct));
如果它是一個元素,我會做:
boost::object_pool<MyStruct> myPool;
MyStruct *someStruct = myPool.malloc();
但由於「numOfElements」是一個變量,我有感覺執行一個malloc()循環不是一個好主意嗎?
將向'矢量:: reserve'通話還有意義,當'pool_allocator'是用過的? – pmr
@pmr:我想;你認爲vector :: reserve會是_do_?(http://www.sgi.com/tech/stl/Allocators.html) – sehe
我只是在想,調用'reserve'可能會干擾底層的分配策略池。我使用'pool_alloc'的經驗不好,我懷疑我發展了信任問題。 ;) – pmr