为什么要使用FillChar来初始化一个整数

3
有没有特殊的原因,使得用FillChar初始化Delphi整数变量比仅仅赋予它一个初始值更好?我遇到了以下代码。它不在速度敏感的循环中。在这里使用FIllChar,特别是在另一个变量的常规赋值之后立即使用,似乎毫无意义。那么我错过了什么吗?
procedure DoSomething;
var
  MyNum: Integer;
  MyPos: Integer;
begin
  MyNum:= 0;
  FillChar (MyPos, SizeOf (MyPos), 0);
  [...]

7
我们只能猜测,但我怀疑您看到的是一个困惑的开发者留下的一点东西。也许他认为这会更加“零”吧。 - Ernest Friedman-Hill
1
FillChar 的作用更适合于初始化结构体(如数组或记录),而不是单个值变量。因此,为了更好的可读性,建议使用简单的赋值语句,例如 MyNum := 0; - TLama
@Ernest 加一分,因为使用了非单词零-y。 - GDF
2
我支持 @TLama 的观点。 "Extra zero-y" 可能是我今天的亮点! - Eric S.
2
我的猜测是 - 作者不确定MyPos变量最终是否为整数类型,并使用了最通用的清零方法。也有可能是他在开玩笑 :) - kludg
1个回答

0
据我所知,Fillchar在需要将数组或变量长度数据清零的情况下使用。从你所写的例子来看,我猜开发者认为MyPos在未来可能会改变其类型(也许它将成为记录?或者它曾经是记录?)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接