Forum: Sonstige Fragen zu Delphi
Delphi
by jbg,
10. Feb 2004
Durchsucht mal das Forum. Dort haben schon mehrere (mich eingeschlossen) dieses Phänomen erklärt.
Um es kurz zu machen:
Konstruktor wie
for i := 0 to 100000 do
SetLength(A, Length(a) + 1);
und
for i := 0 to 100000 do
S := S + 'x';
machen im Hintergrund fast genau dasselbe.
Forum: Sonstige Fragen zu Delphi
Delphi
by jbg,
10. Feb 2004
Grob geschätzt frißt das Array dann Fakultät(Length(A)) * SizeOf(A) Bytes.
Du könntest so arbeiten, wie es TList und TStringList macht. Einfach das Array um einen festen Delta-Wert erhöhen und eine Variable Len mitlaufen lassen, die die effektive Länge des Arrays enthält. Zum Schluss setzt du dann die tatsächliche Länge des Arrays auf die effektive Länge.