Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
Delphi 12 Athens
|
Re: Default Werte in Array?
30. Jul 2009, 14: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.
$2B or not $2B
|