Thema: Delphi Default Werte in Array?

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.348 Beiträge
 
Delphi 12 Athens
 
#18

Re: Default Werte in Array?

  Alt 30. Jul 2009, 13:35
Sagen wir es mal so, die Array-Felder sind "nie" vorbelegt.

als globale Variable oder in einem Objekt:
der globale Variablen-Speicher und der Speicher von Objekten wird beim erstellen geNullt,
also wenn da zufällig ein statisches Array seine Elemente dort drin hat, dann ist es demnach auch automatisch indirekt mit 0en vorbelegt.

der Stack (lokale Variablen):
wird nicht initialisiert/geNullt

Speicher vom Speichermanager (via GetMem, z.B. der Inhalt von dynamischen Arrays):
wird ebenfalls nicht initialisiert/geNullt


Ausnahmen:
initialisierungspflichtige Typen, wie z.B. Strings, dynamische Arrays (der Array-Zeiger und nicht dessen Inhalt) oder Interfaces werden zu Initialisierung mit "nil" gefüllt.

und daraus kann man sich jetzt alle möglichen Szenarien basteln.


Grund ist, daß bei den "Ausnahmen" zur Speicherbehandlung ein definierter Wert gegeben sein muß, denn sonst wissen die Verwaltungsfunktionen nicht, ob sie einen alten Inhalt eventuell freigeben müssen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat