Разница между Initialize (), Default () и FillChar ()
Позволять'говорят, что у вас есть местная запись,я хотел бы инициализировать:
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);
Определить пустойпостояннаяи назначьте это переменной
const cMyVar:TMyVar=();
...
MyVar := cMyVar;
Все вышеперечисленное, похоже, работает в ситуациях, подобных этому примеру. Я думаю, вы могли бы даже определить глобальную переменную, чтобы инициализировать ее.
Но есть ли предпочтительный метод? Или есть определенные ситуации, когда этоне рекомендуется использовать что-либо из вышеперечисленного, или там, где это просто победилот работаешь?
Короче говоря, чтоокончательныйПравильнотм инициализировать локальную переменную стека? :-)