Einzelnen Beitrag anzeigen

Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

Listen zurückgeben - best practice

  Alt 1. Apr 2010, 13:48
Ich habe Funktionen, die prinzipiell generische Listen erstellen, mit denen weitergearbeitet können werden soll.

Intuitiv würde man schreiben:
function foo(): TList<MyClass> Daraus ergibt sich natürlich das altbekannte Problem: wer gibt diese Liste wann wieder frei? Ist dies nun vertretbar, das dem Benutzer der Library zu überlassen?

Oder sollte man doch besser nen Iterator/Enumerator (was ist eigentlich der Unterschied?) zurückgeben, aber wie würde das konkret funktionieren, im Hinblick auf die generische Liste?

Delphi-Quellcode:
function foo(): ?
var
  List: TList<MyClass>;
begin
  List := TList<MyClass>.Create;
  ...
  Result := ?
end;
Selbst wenn man den Fragezeichenteil korrekt ergänzen könnte hätte man aber doch immernoch das selbe "Speicherleck"?! Mir fehlt grade die zündende Idee...
  Mit Zitat antworten Zitat