在C++中,存在使用預分配內存創建對象的inplace-new運算符。德爾福有沒有相同的選項?在預分配的內存上使用Delphi對象構造函數
2
A
回答
2
沒有直接的等價物(我知道),但是通過覆蓋自定義類中的NewInstance類函數並提供一個類似的效果(通過控制對象類型的內存分配方式和位置)實現,它爲自定義堆池中的新實例提供空間。
+0
好吧,這個想法是一種靈活的方式來創建已由外部分配器(可以調用回調函數銷燬)分配的內存上的任何類。 NewInstace覆蓋不能提供這個。但如果沒有其他機會,我會嘗試。 – cytrinox 2015-04-04 16:48:14
+0
NewInstance可以做到這一點,但它需要一個相當混亂的方式來獲得預分配內存的地址NewInstance。 – 2015-04-05 07:40:26
相關問題
- 1. 構造函數調用分配內存?
- 2. 使用out調用構造函數分配對象數組中的內存?
- 3. 堆分配對象構造函數
- 4. 結構上的內存分配和複製構造函數
- 5. 堆 - 構造函數和析構函數,內存分配
- 6. 使用自定義分配器調用對象構造函數/析構函數
- 7. 使用矢量構造函數分配動態內存
- 8. 構造函數屬性 - 關聯預先存在的對象?
- 9. 如何在不分配內存的情況下構造對象?
- 10. 在構造函數中使用對象
- 11. 構造函數後對象不存在?
- 12. 對象內部的構造函數?
- 13. 重新調用靜態分配對象的構造函數
- 14. 在構造函數中動態分配新的對象
- 15. AVR在課堂構造函數中分配內存
- 16. 在類構造函數中爲指針分配內存
- 17. 爲存儲庫構造函數分配內存C++
- 18. C++如何分配對象,而不調用構造函數
- 19. 在C++構造函數中分配結構數組的存儲
- 20. 待辦事項構造對象分配內存泄漏
- 21. 在大對象堆內存中預分配一些內存
- 22. 動態分配內存,複製構造函數中的錯誤
- 23. 如果分配的內存構造函數拋出異常
- 24. Windows與Linux內存分配/ std :: list構造函數的性能
- 25. std :: string構造函數中的內存分配/堆損壞
- 26. 基類和派生類構造函數的內存分配
- 27. 如何分配帶有複雜構造函數的對象?
- 28. 類構造,但現在分配內存
- 29. 構建其他對象構造函數的對象構造函數
- 30. 從子類構造函數調用超級構造函數是否在內存中創建超類的對象?
一些類似或可能重複的東西[有沒有用於Delphi的通用「對象池」實現?](http://stackoverflow.com/q/16404051/576719)和[用微型對象池提升工作類]( http://www.delphitools.info/2013/09/26/boosting-work-classes-with-a-mini-object-pool/)。 – 2015-04-04 20:02:17