Einzelnen Beitrag anzeigen

Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: konstanter Rückgabewert bei Funktionen?

  Alt 9. Jan 2009, 21:40
Was du meinst, ist nicht "konstant". Was du meinst, ist Referenz statt Wert. Wenn dein Listenelement ein Array, Record, String oder Objekt ist, wird immer die Referenz zurückgegeben, wobei es bei Arrays, Strings und ich glaube auch Records ein paar komplizierte Regeln gibt, die ich mir nie merken kann, dass manche davon "Copy on write" haben, also es wird zwar nur die Referenz übergeben, aber sobald man dann versucht, darauf zu schreiben, wird es kopiert, sodass das Original unverändert bleibt.

Wenn du also nur die Referenz zurückgeben willst, musst du gar nichts machen, (außer bei primitiven Typen wie Integern, da geht das gar nicht, ohne einen Record oder eine Klasse drumrumzuwrappen), wenn du eine Kopie zurückgeben willst, schon.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat