new + exception
-
Was passiert eigentlich wenn ein mit new erstelltes Objekt eine Exception wirft?
struct autsch { autsch() { throw 42; } } int main() { try { autsch* a = new autsch; } catch (int e) { // Wurde der reservierte Speicher wieder freigegeben? } }
-
Exception im Ctor ist ok und erzeugt kein Memory Leak - das Objekt hat sozusagen nie existiert.
-
theta schrieb:
Exception im Ctor ist ok und erzeugt kein Memory Leak - das Objekt hat sozusagen nie existiert.
Sehr gut, darauf hatte ich gehofft.

-
exceptional schrieb:
theta schrieb:
Exception im Ctor ist ok und erzeugt kein Memory Leak - das Objekt hat sozusagen nie existiert.
Sehr gut, darauf hatte ich gehofft.

Darauf brauchst du nicht zu hoffen, das muss einfach so sein. Alles andere wäre eine unbenutzbare Sprache.