2015-04-04 48 views
2

在C++中,存在使用預分配內存創建對象的inplace-new運算符。德爾福有沒有相同的選項?在預分配的內存上使用Delphi對象構造函數

+0

一些類似或可能重複的東西[有沒有用於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

回答

2

沒有直接的等價物(我知道),但是通過覆蓋自定義類中的NewInstance類函數並提供一個類似的效果(通過控制對象類型的內存分配方式和位置)實現,它爲自定義堆池中的新實例提供空間。

+0

好吧,這個想法是一種靈活的方式來創建已由外部分配器(可以調用回調函數銷燬)分配的內存上的任何類。 NewInstace覆蓋不能提供這個。但如果沒有其他機會,我會嘗試。 – cytrinox 2015-04-04 16:48:14

+0

NewInstance可以做到這一點,但它需要一個相當混亂的方式來獲得預分配內存的地址NewInstance。 – 2015-04-05 07:40:26

相關問題