【问题标题】:Using Delphi object constructors on preallocated memory在预分配内存上使用 Delphi 对象构造函数
【发布时间】:2015-04-04 16:15:05
【问题描述】:

在 C++ 中,存在一个 inplace-new 运算符来使用预分配的内存创建对象。 Delphi中是否有等效选项?

【问题讨论】:

标签: delphi


【解决方案1】:

没有直接的等价物(据我所知),但您可以通过覆盖自定义类中的 NewInstance 类函数并提供相同的效果(控制对象类型的内存分配方式和位置)并提供一个实现,它为自定义堆池中的新实例提供空间。

【讨论】:

  • 嗯,这个想法是一种灵活的方法,可以在已经由外部分配器(可以调用回调函数进行销毁)分配的内存上创建任何类。 NewInstace 覆盖无法提供此功能。但如果没有其他机会,我会尝试一下。
  • NewInstance 可以做到这一点,但它需要一种相当混乱的方式来获取 NewInstance 的预分配内存的地址。
猜你喜欢
  • 1970-01-01
  • 2016-07-29
  • 1970-01-01
  • 1970-01-01
  • 2020-03-04
  • 2017-09-21
  • 1970-01-01
  • 2018-10-07
  • 2012-06-04
相关资源
最近更新 更多