delphi – Initialize(),Default()和FillChar()之间的区别
发布时间:2020-12-15 04:03:51 所属栏目:大数据 来源:网络整理
导读:假设您有一个您想要初始化的本地记录: type TMyRec=record Val1,Val2:Integer; end;procedure MyProc;var MyVar:TMyRec;begin // ... ? WriteLn(Val1,Val2);end; 除了“手动”设置每个字段外,还有几种方法可以实现. 使用Initialize(): Initialize(MyVar);
假设您有一个您想要初始化的本地记录:
type TMyRec=record Val1,Val2:Integer; end; procedure MyProc; var MyVar:TMyRec; begin // ... ? WriteLn(Val1,Val2); end; 除了“手动”设置每个字段外,还有几种方法可以实现. >使用Initialize(): Initialize(MyVar); >使用默认值(): MyVar := Default(TMyVar); >使用FillChar: FillChar(MyVar,SizeOf(MyVar),0); >定义一个空常量,并将其赋值给var const cMyVar:TMyVar=(); ... MyVar := cMyVar; 以上所有似乎都适用于这个例子.我想你甚至可以定义一个全局变量来初始化它. 但是有一种首选方法吗?或者在某些情况下,不建议使用上述任何一种情况,或者它根本不起作用? 简而言之,初始化本地堆栈变量的权利是什么? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |