Moin!
Zitat von
RavenIV:
Irgendwelche Objekte in Funktionen erzeugen und als Returnwert zurückgeben ist immer fehleranfällig.
Und falsch, da man niemals die Grundregel erfüllen kann, Objekte auf der gleichen Ebene freizugeben wo sie erzeugt werden.
Zitat von
RavenIV:
Am Besten solche Objekte als var-Parameter oder besser noch out-Parameter übergeben lassen.
Wenn die aufrufende Funktion die Instanz erstellt ist genau beides eine riesige Fehlerquelle. Mit dem VAR erlaubst du dem aufgerufenen explizit die Instanz zu verändern - also eine ganz andere zurück zu geben als im übergeben wurde. Von daher ist hier const deutlich besser geeignet.
Zitat von
RavenIV:
Dann muss / kann sich die aufrufende Procedure um das Erstellen und Zerstören kümmern.
Und mit dem kann/muss ist es wieder nicht eindeutig, wer sich nun kümmern muss. Und die aufrufende Procedure kann sich bei out definitiv nicht darum kümmern, damit versaubeutelst du schon die aussen erstellte Instanz, da diese niemals reingereicht wird. Bitte informier dich über den Unterschied von out und var!
Gruss
Muetze1