我需要存储一个 TList,其中包含一些可以在 Delphi 中轻松实现为记录的内容(五个简单字段)。但是,当我执行 TList<TMyRecordType>.Add(R)
时,不清楚会发生什么。
由于 R 是在创建 my TList 的过程中的一个局部变量,所以我认为它的内存将在函数返回时释放。这会在列表中留下一个无效的记录指针吗?还是列表知道要进行复制并分配?如果是前者,我假设我需要使用 New() 和 Dispose() 手动管理 R 的内存,对吗?
另外,我可以通过简单地声明字段为公共字段(甚至不必费心制作正式属性)来将我的记录类型“提升”为类类型。那样可以吗?还是我应该花时间构建具有私有字段和公共属性的类?