Rechte von mit new angelegtem Speicher
-
Wo wird eigentlich gespeichert, wie groß der freizugebene Speicher ist?
char* a; a=new char; char* b; b=a; delete b;Ist das richtig?
oder darf nur a den Speicher wieder freigeben?
-
Frage 1: Das hängt von der Implementierung ab
Frage 2: Is ok so
-
a) Die Größe des Speichers legt sich new irgendwo ab - allerdings gibt es keinen portablen Weg, da ranzukommen.
b) Wer den Speicher freigibt, ist dem System egal - wichtig ist nur, daß sich alle darauf einigen, wer das macht (dein Beispiel klappt problemlos, wenn du jedoch ein
delete a;hinten dran hängst, beschwert sich das System - und im realen Leben sieht man nicht so einfach, wer den Speicher noch verwenden will ;))