[fpc-pascal] RTFM question (?): which variables/fields are initialized by fpc?

Bart bartjunk64 at gmail.com
Sun Feb 22 12:59:24 CET 2015


Hi,

I cannot find it in the docs (probably not looking in the right place).

Which variables/class-fields are initialized by the compiler?

My understanding is that:
- global vars are initialized (zero, false, empty string etc)
- local vars are not

But what about class fields?

Typically I do

type
  TA = Class
  private
    FInt: Integer;
    FBool: Boolean;
    FString: String;
    FPoint: TPoint;
   ....
   end;

constructor TA.Create;
begin
  FInt:=0;
  FBool:=False;;
  FString:='';
  FPoint:=Point(0,0);
  ...
end;

1. Is this necessary, and if not, for which types can it be omitted?
(skip if you know 2)
2. Where is it documented?
3. Does it work the same as in Delphi?

Bart



More information about the fpc-pascal mailing list