【问题标题】:How to delete or destruct an instance of a data structure or a record?如何删除或破坏数据结构或记录的实例?
【发布时间】:2012-07-09 18:15:15
【问题描述】:

我的数据结构如下。

TJustCalGroup = record
    SigName,GroupName:string;
    RawMin,RawMax:LongInt;
end;

我如下创建记录或数据结构的实例。

var ARecord := new TJustCalGroup;

然后,我想删除该实例或将其标记为未使用。所以,我正在做以下事情。

ARecord := Nil;

但是,它不起作用。它不断引发错误,“无法将 nil 分配给 TJustCalGroup。”

那么,那么如何将其设为 nil 或 null 或释放其内存?

【问题讨论】:

    标签: .net data-structures record null delphi-prism


    【解决方案1】:

    delphi prism(或 Oxygene)记录等同于 Struct ,结构(或记录)是值类型,并且始终在堆栈上分配(即使您使用 new 运算符),因此您不需要需要释放内存。

    【讨论】:

    • RRUZ,随着时间的推移,这不会导致内存泄漏吗?因为,您只是添加到堆栈中而从未删除。
    • 不,记录是值类型,因此不会产生内存泄漏,每次使用 New 运算符时都不会分配内存,而是仅将记录的成员初始化为其默认值。
    猜你喜欢
    • 2010-10-04
    • 1970-01-01
    • 2014-02-12
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    相关资源
    最近更新 更多