005
06.12.2007, 21:51 Uhr
0xdeadbeef
Gott (Operator)
|
Dass das undefiniertes Verhalten erzeugt, bedeutet, dass der Compiler daraus alles mögliche machen darf. Ich vermute, dass in diesem speziellen Fall der Compiler den gesamten Speicher freigibt, vorher aber nur einen Destruktor ausführt. Oder ausführte, wenn es denn einen gäbe.
Das ist aber alles ziemlich nutzlose Raterei, denn der Compiler darf dir bei sowas genausogerne ein Programm ausspucken, das dann einen segfault auslöst, oder zufällig genau macht, was du willst, oder dir die Festplatte formatiert. Insofern ist xXxs Antwort durchaus richtig und relevant - es ist in etwa so, als antwortete man auf die Frage "Wenn ich nen Würfel werfe, krieg ich dann ne zwei oder ne fünf" mit "Woher zum Teufel soll ich das wissen?" -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 06.12.2007 um 21:52 Uhr von 0xdeadbeef editiert. |