在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. 堆 - 构造函数和析构函数,内存分配
- 3. 使用自定义分配器调用对象构造函数/析构函数
- 4. 构造函数属性 - 关联预先存在的对象?
- 5. 如何在不分配内存的情况下构造对象?
- 6. 构造函数后对象不存在?
- 7. 对象内部的构造函数?
- 8. 重新调用静态分配对象的构造函数
- 9. AVR在课堂构造函数中分配内存
- 10. 在类构造函数中为指针分配内存
- 11. C++如何分配对象,而不调用构造函数
- 12. 在C++构造函数中分配结构数组的存储
- 13. 待办事项构造对象分配内存泄漏
- 14. 在大对象堆内存中预分配一些内存
- 15. 动态分配内存,复制构造函数中的错误
- 16. 对象初始化的Delphi类构造函数
- 17. 函数对象和构造
- 18. C++在构造函数中分配对属性的引用
- 19. 使用构造函数自动装配对象
- 20. 为JavaScript内存使用对象的文字符号与构造函数
- 21. 使用Init()进行内存分配比构造函数更好吗?
- 22. 如何在JavaScript中的对象上调用构造函数?
- 23. 在错误的对象上调用复制构造函数
- 24. 当函数内部静态构造对象时,它会分配在堆上还是堆栈上?
- 25. 在预先分配的内存中创建对象
- 26. 构造函数中的对象参数
- 27. 对象构造函数的C++数组
- 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