Do I need to setLength a dynamic array on initialization?

后端 未结 5 1393
终归单人心
终归单人心 2020-12-10 20:03
type Tmyclass = class(TObject)
  somearray: array of TSometype
  FBool: Boolean;
  Fint: Integer;
  Fstr: string;
  constructor Create;
  destructor Destroy; overrid         


        
5条回答
  •  温柔的废话
    2020-12-10 20:20

    Both SetLength calls are superfluous since dynamic arrays are initialized and finalized.

    All fields in a class instance are initialized to their respective zero value, i.e. 0, nil, False, '' etc.

    Local variables are initialized (and finalized) only if they are of a lifetime-Managed type like string, dynamic array or interface.

提交回复
热议问题