我是否需要释放列表中的元素?

时间:2011-10-19 19:48:43

标签: delphi memory-management pointers free delphi-7

您好我有一个TList类型的列表。我用指向用new创建的记录的指针填充它。

我的一位同事告诉我,释放列表将释放所有元素,但我有疑虑,因为我习惯于C.所以Delphi 7有一些垃圾收集,我真的不需要自由每个元素?有人可以向我解释这是如何工作的吗?

1 个答案:

答案 0 :(得分:14)

TList持有指针,但它不拥有他们指向的东西。它不能,因为它不知道你如何分配它们,所以它也不知道如何释放它们。如果它们应该被销毁,你需要自己销毁这些物品。

您的同事可能会考虑TObjectList,可以选择拥有列表中的项目。

相关问题