我必須在Delphi中存儲一些可以輕鬆實現爲記錄的TList(五個簡單字段)。然而,我不清楚當我做TList<TMyRecordType>.Add(R)
時會發生什麼。瞭解TList的內存分配<RecordType>
由於R是創建我的TList的過程中的局部變量,因此我假定函數返回時將釋放其內存。這是否在列表中留下無效的記錄指針?或者列表是否知道要分配的內容?如果前者,我假設我將不得不用New()和Dispose()手動管理R的內存,這是否正確?
或者,我可以通過簡單地聲明這些字段是公開的(甚至不必爲使它們成爲形式屬性而煩惱)來「促進」我的記錄類型爲類類型。這是否被認爲是好的,還是我應該花時間建立私人領域和公共財產的班級?
關鍵是一個記錄是一個值類型,而一個類的實例是一個引用類型。真的需要了解這個區別。 – 2010-12-23 17:17:04