Werfen Sie Ausnahmen in C ++ mit oder ohne den Operator new ? Weil beide eine Ausnahme auslösen würden.
new
Obwohl das folgende Beispiel Speicherplatz verlieren würde?
Was ist der richtige Weg, Ausnahmen in C ++ zu werfen?
Ich würde Ausnahme auslösen ohne new zu verwenden:
Und würde catch it mit const referenz, wie:
catch
const
Es vermeidet Kopieren. Es vermeidet new und erspart Ihnen so die Verwendung von delete .
delete
Technisch können Sie beides tun.
Aber es ist traditioneller, Objekte zu werfen: Beachten Sie auch catch by const reference (dies verhindert das Aufteilen der Ausnahme)
Tags und Links memory-leaks c++ exception-handling exception