gpt4 book ai didi

delphi - 有没有办法在 Delphi 中实例化所需数量的对象而不进行迭代?

转载 作者:行者123 更新时间:2023-12-03 15:17:35 25 4
gpt4 key购买 nike

我认为 C++ 支持以下内容:

Object objects[100];

这会实例化 100 个对象,对吗?在Delphi(特别是2007年)中可以做到这一点吗?除了以下内容之外的其他内容:

for i:=0 to 99 do
currentObject = TObject.Create;

或者使用Allocate函数,传递的大小值是TObject大小的一百倍,因为这只是分配内存,它实际上并没有划分内存和将其“赋予”对象。如果我假设 C++ 实例化是即时的而不是底层迭代的,我深表歉意。

最佳答案

您正在寻找的东西是不可能的,因为

  • Delphi 不支持静态(堆栈分配)对象。
  • Delphi 对象没有可以由编译器自动调用的默认构造函数。

所以这并不缺乏“糖语法”。

<小时/>

为了完全披露:

  • Delphi 还支持传统的“旧对象模型”(Turbo Pascal 对象模型),允许静态分配对象;
  • 动态对象分配本身不会阻止自动对象实例化语法,但会使这种语法变得不可取;
  • 自动对象实例化语法是不可能的,因为 Delphi 没有默认构造函数:Delphi 编译器从不隐式实例化对象,因为它不知道要调用哪个构造函数。

关于delphi - 有没有办法在 Delphi 中实例化所需数量的对象而不进行迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13087713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com