delphi – Initialize(),Default()和FillChar()之间的区别

前端之家收集整理的这篇文章主要介绍了delphi – Initialize(),Default()和FillChar()之间的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设您有一个您想要初始化的本地记录:
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;

以上所有似乎都适用于这个例子.我想你甚至可以定义一个全局变量来初始化它.

但是有一种首选方法吗?或者在某些情况下,不建议使用上述任何一种情况,或者它根本不起作用?

简而言之,初始化本地堆栈变量的权利是什么?

猜你在找的Delphi相关文章