【发布时间】:2011-05-30 01:44:00
【问题描述】:
我必须存储可以在 Delphi 中轻松实现为记录的 TList(五个简单字段)。但是,我不清楚当我执行TList<TMyRecordType>.Add(R) 时会发生什么。
由于 R 是我创建 TList 的过程中的局部变量,我假设它的内存将在函数返回时被释放。这会在列表中留下无效的记录指针吗?还是列表知道分配时复制?如果是前者,我假设我必须使用 New() 和 Dispose() 手动管理 R 的内存,对吗?
或者,我可以通过简单地将字段声明为公共字段(甚至无需将它们设为正式属性)来将我的记录类型“提升”为类类型。这被认为可以吗,还是我应该花时间用私有字段和公共属性构建类?
【问题讨论】:
标签: delphi memory-management delphi-2010