【发布时间】:2011-10-19 19:48:43
【问题描述】:
您好,我有一个TList 类型的列表。我用指向使用new 创建的记录的指针填充它。
我的一位同事告诉我释放列表将释放所有元素,但我有疑问,因为我习惯了 C。Delphi 7 也有某种垃圾收集,我真的不必释放每个元素?有人可以向我解释这是如何工作的吗?
【问题讨论】:
-
保存记录的 TList?为什么不只是一个数组?那么你就没有
New和Dispose的开销;只是 SetLength,等等。 -
@NGLN 因为它的大小必须在运行时确定。
-
厄尔兹,Delphi supports dynamic arrays as of version 4。您可以在运行时设置其大小。它不像 C 数组(尽管在过去十年左右的时间里,即使是 C 数组也能够在运行时确定它们的大小)。
标签: delphi memory-management pointers free delphi-7