Einzelnen Beitrag anzeigen

Roachford
(Gast)

n/a Beiträge
 
#17

Re: Funktionsrückgabewert: Array

  Alt 25. Sep 2008, 16:25
Zitat von oki:
Wird ein dyn. Array in einer Procedure nicht als var-Parameter übergeben, so kopiert Delphi intern alle Daten des Arrays bei der Übergabe, was zu einer erheblichen Anzahl an Operationen führen kann.
Nein, tut es nicht.

Roachford
Wenn du var weglässt, erstellt dir Delphi vor Änderungen eine Kopie des Arrays und somit setzt du höchstens die Kopie auf 0.


Das "vor Änderungen" bezieht sich nicht auf den Array Inhalt sondern auf das Array selbst.

Roachford
Ich müsste hier vllt. nochmal explizit darauf hinweisen, dass ich die Veränderung des Arrays meine - also von NIL setzen bist SetLength(). Ein Veränderung der Arrayinhalte ohne Grössenänderung ist natürlich ohne var möglich, da er die Daten an der Stelle direkt editiert, welche der Zeiger bestimmt.
  Mit Zitat antworten Zitat