Unterschied zw. new (bzw delete) und den Konstruktor (bzw Destruktor)
-
evilissimo schrieb:
Verlasse dich niemals darauf. Zu jedem new solltest du einen passenden delete aufruf haben. Oder SmartPointer verwenden
natürlich. er hat aber gefragt ob der speicher freigegeben wird wenn man das programm beendet. und das wird er unter jedem mir bekanntem betriebssystem, ich hab ja extra dabeigeschrieben das es nicht garantiert wird.
-
Interessant ist ja das noch gar keinem mein Fehler(Syntaxfehler) aufgefallen ist...
hrhr. na wer findet ihn ? (EDIT: bzw Sie ? )
MfG
-
delete B;
-
ZuK schrieb:
delete B;
Nein, das hatte ich ja noch angemerkt...
evilissimo schrieb:
// Edit bei den beiden Pointer Varianten muss jeweils delete aufrufen
Ich sagt auch extra Syntaxfehler!
//Edit: Hmm Vielleicht ist es eher ein Semantikfehler, kein Syntaxfehler aber ich kann jetzt auch nicht sagen wo da der unterschied ist...
-
};
-
ZuK schrieb:
};
Nicht raten. Nach denken und überlegen.
*g*
MfG
-
@evilissimo
Spontan sehe ich nur, dassmyclass * b = new myclass(a);
wohl besser
myclass * b = new myclass(*a);
heißen sollte, aber was bitte soll dieses Rätselraten hier? Es wäre sinnvoller, wenn du deinen Beitrag einfach entsprechend korrigieren würdest (oder selbiges in einem neuen Beitrag tun würdest). Wir sind hier ja nicht bei "Such den Fehler".
-
Ich würde mal sagen beide antworten von mir sind fehler in deinem beispiel. ob syntax, oder semantik sei mal dahingestellt. wenn da noch etwas falsch ist dann kann ich nur sagen "ganz schün viele fehler für so ein kurzes beispiel".
Kurt
-
HumeSikkins schrieb:
@evilissimo
Spontan sehe ich nur, dassmyclass * b = new myclass(a);
wohl besser
myclass * b = new myclass(*a);
heißen sollte, aber was bitte soll dieses Rätselraten hier? Es wäre sinnvoller, wenn du deinen Beitrag einfach entsprechend korrigieren würdest (oder selbiges in einem neuen Beitrag tun würdest). Wir sind hier ja nicht bei "Such den Fehler".
ok.
-
ZuK schrieb:
Ich würde mal sagen beide antworten von mir sind fehler in deinem beispiel. ob syntax, oder semantik sei mal dahingestellt.
Weder noch waren Fehler.
-
1. Posting : Du willst also sagen delete class anstatt delete member ist ok. ?
2. Posting : Klassen deklaration ohne bschliessendes ; is ok ?
Welchen compiler verwendest du ?
Kurt
-
ZuK schrieb:
1. Posting : Du willst also sagen delete class anstatt delete member ist ok. ?
2. Posting : Klassen deklaration ohne bschliessendes ; is ok ?
Welchen compiler verwendest du ?
KurtIch bin nicht mantiz
-
Das tut mir jetzt aber wirklich leid. Hab nicht auf den absender geachtet.
Kurt.
-
Das ";" hab' ich vergessen, das gehört da natürlich hin, keine Frage.