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

Attachment: signature.asc
Description: This is a digitally signed message part.

Antwort per Email an