Einzelnen Beitrag anzeigen

idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Speicherverwaltung bei dynamischen Arrays

  Alt 2. Okt 2013, 12:07
Es würde mich interessieren, wie der Speicher für dynamische arrays von Delphi verwaltet wird, das steht eigentlich nirgends klar beschrieben.

Delphi-Quellcode:
var
x,y,z: array of integer;

begin
setlength(x,100);
setlength(y,100);
setlength(z,100);
...
setlength(x,200);
setlength(y,200);
setlength(z,200);
...
Was macht das System in dem Fall? Wenn x erweitert wird, wird dann ein neuer grösserer Block genommen und die ersten 100 Integers in den neuen Block kopiert? Oder wird nur für die Vergrösserung ein neuer Block angelegt und die Blöcke werden irgendwie verkettet?
  Mit Zitat antworten Zitat