Delphi 为什么使用FillChar初始化整数
有没有什么特别的原因可以使用FillChar初始化Delphi整数变量,而不仅仅是给它赋一个初始值?我遇到过如下代码。它不在速度敏感环路或任何地方。在这里使用FIllChar,尤其是紧接着另一个变量的更传统的赋值之后,似乎毫无意义。那么我错过了什么Delphi 为什么使用FillChar初始化整数,delphi,initialization,integer,Delphi,Initialization,Integer,有没有什么特别的原因可以使用FillChar初始化Delphi整数变量,而不仅仅是给它赋一个初始值?我遇到过如下代码。它不在速度敏感环路或任何地方。在这里使用FIllChar,尤其是紧接着另一个变量的更传统的赋值之后,似乎毫无意义。那么我错过了什么 procedure DoSomething; var MyNum: Integer; MyPos: Integer; begin MyNum:= 0; FillChar (MyPos, SizeOf (MyPos), 0); [.
procedure DoSomething;
var
MyNum: Integer;
MyPos: Integer;
begin
MyNum:= 0;
FillChar (MyPos, SizeOf (MyPos), 0);
[...]
据我所知,当您需要零数组或可变长度数据时,在这种情况下使用Fillchar。
在您编写的示例中,我猜开发人员认为MyPos将来可以更改它的类型(可能是record?或者它是record?)。我们只能猜测,但我怀疑您看到的是一个困惑的开发人员留下的一点。也许他认为这将是额外的零y。
FillChar
用于初始化结构(如数组或记录),而不是单个值变量。因此,为了更好的可读性,只需使用一个简单的赋值,比如MyNum:=0代码>@Ernest+1,用于使用非单词零秒@TLama。“额外零y”可能是我这一天的高潮!我的猜测-作者不确定MyPos
var最终会是整数类型,并使用了最通用的归零。也可能是他在开玩笑:)