我在讀Why is there no reallocation functionality in C++ allocators?和Is it possible to create an array on the heap at run-time, and then allocate more space whenever needed?,它明確指出動態數組對象不可能重新分配。是否使用分配提示?
然而,在C++標準庫由約祖蒂斯,它指出一個分配器,allocator
,具有以下功能:allocate
使用以下語法
pointer allocator::allocate(size_type num, allocator<void>::pointer hint = 0)
其中hint
具有所定義的含義的實現中,其可以是用於幫助提高性能。
是否有任何實現利用這個優勢?
啊,所以它是爲了分配對象而不是重新分配一個現有的對象? – 2013-03-13 09:09:50
你不能只傳遞下一個可用的地址。該提示必須是從之前調用「分配」獲得的。 – Potatoswatter 2013-03-13 09:10:11