Hallo, den Ausführungen von Konrad stimme ich zu. Nur eine Sache möchte ich gerne korrigieren.
> * wenn Du schon Pointer benutzt, dann initialisiere sie auf nullptr > und setze sie nach delete auch immer auf nullptr zurück - das macht > die Fehlerdiagnose einfacher! So ziemlich alle gültigen Anwendungen für new und delete für die ersten zehn Jahre sind in der STL abgehandelt. Für den klassischen Fall gibt es std::unique_ptr<>, für Felder std::vector<> und dann gibt es noch std::shared_ptr<> und std::weak_ptr<> falls man refcounting braucht (das nimmt man nur wenn man absolut keine klare Ownership definieren kann.) (das Stichwort dazu ist "RAII") > * wenn Du eine Referenz zurückgibst machst Du zu 99% einen Fehler, das > verbleibende 1% ist zum größten Teil schon von der STL abgedeckt Ich glaube der häufigste und einfachste Fall für Referenzen die Zurückgegeben werden sind Getter von Klassen, die dürften schon mehr als 1% sein. Aber sonst fällt mir auch nichts normales ein wo die Rückgabe von Referenzen Sinn macht. > * Pointer sind Teufelswerk; Referenzen sind besser aber nicht ganz > ungefährlich(*); Value-Typen sind fett und langsam - wähle Dein Gift > vorsichtig ;-) Ab C++17 ist Copy elision bei Return in vielen Fällen für den Compiler pflicht, das mach die Rückgabe von Value-Typen kostenlos, wenn man aufpasst. In den Übrigen fällen, kann move-Semantik (ab C++11) helfen. Viele Grüße Jeffrey
signature.asc
Description: This is a digitally signed message part.