我必须在Delphi中存储一些可以轻松实现为记录的TList(五个简单字段)。然而,我不清楚当我做TList<TMyRecordType>.Add(R)
时会发生什么。了解TList的内存分配<RecordType>
由于R是创建我的TList的过程中的局部变量,因此我假定函数返回时将释放其内存。这是否在列表中留下无效的记录指针?或者列表是否知道要分配的内容?如果前者,我假设我将不得不用New()和Dispose()手动管理R的内存,这是否正确?
或者,我可以通过简单地声明这些字段是公开的(甚至不必为使它们成为形式属性而烦恼)来“促进”我的记录类型为类类型。这是否被认为是好的,还是我应该花时间建立私人领域和公共财产的班级?
关键是一个记录是一个值类型,而一个类的实例是一个引用类型。真的需要了解这个区别。 – 2010-12-23 17:17:04