Diferencia entre Initialize (), Default () y FillChar ()
Digamos que tiene un registro local que le gustaría inicializar:
type
TMyRec=record
Val1, Val2:Integer;
end;
procedure MyProc;
var
MyVar:TMyRec;
begin
// ... ?
WriteLn(Val1,Val2);
end;
Además de configurar cada campo "manualmente", hay varias formas de hacerlo.
UtilizarInicializar():
Initialize(MyVar);
UtilizarDefecto():
MyVar := Default(TMyVar);
UtilizarFillChar:
FillChar(MyVar,SizeOf(MyVar),0);
Define un vacíoconstante, y asigna eso a la var
const cMyVar:TMyVar=();
...
MyVar := cMyVar;
Lo anterior todo parece funcionar en situaciones como este ejemplo. Supongo que incluso podrías definir una variable global para inicializarla.
¿Pero hay un método preferido? ¿O hay ciertas situaciones en las que no se recomienda usar cualquiera de los anteriores, o donde simplemente no funciona?
En pocas palabras, ¿cuál es el definitivo?Manera correctatm Cómo inicializar una variable de pila local? :-)