假设您有一个要初始化的本地记录:
type
TMyRec=record
Val1, Val2:Integer;
end;
procedure MyProc;
var
MyVar:TMyRec;
begin
// ... ?
WriteLn(Val1,Val2);
end;
除了“手动”设置每个字段外,还有几种方法可以做到这一点。
使用初始化():
Initialize(MyVar);
使用默认():
MyVar := Default(TMyVar);
使用FillChar:
FillChar(MyVar,SizeOf(MyVar),0);
定义一个空常量,并将其分配给 var
const cMyVar:TMyVar=(); ... MyVar := cMyVar;
以上所有似乎都适用于这个例子的情况。我猜你甚至可以定义一个全局变量来初始化它。
但是有没有首选的方法?或者在某些情况下不建议使用上述任何一种,或者它根本不起作用?
简而言之,初始化本地堆栈变量的明确正确方法是什么?:-)