char zweiger und delete?
-
hi
lese gerade ein buch. dort wird in einer klasse ein zeiger auf ein char gelegt. also char *xyz; und im destruktor wird der speicher mit delete wieder freigegeben. jetzt frage ich mich natürlich wozu? xyz wurde ja nicht dynamisch angefordert! was stimmt hier nun?
-
Na, freigeben muss man nur, was man angefordert hat, egal ob direkt mit new oder über eine Methode, die ihrerseits new aufruft. Vllt. kannst du Code zeigen, das hört sich nämlich ziemlich schräg an...
-
Häufig wird der Speicher auch nicht im Konstruktor angefordert, sondern in irgendeiner anderen Memberfunktion (z.B. bei der Zuweisung).
-
GPC: ja es ist schräg. möglicherweise ein fehler des autor.. sowas kann ja durchaus vorkommen wenn man ein buch schreibt

CStoll (off): der autor des buches hat weder in einer methode noch im konstruktor den speicher dynamisch angefordert, also mit dem new operator. deswegen macht mich das etwas -->
<-- aber egal..happy :xmas1: :xmas2: :xmas1:
-
dududu schrieb:
CStoll (off): der autor des buches hat weder in einer methode noch im konstruktor den speicher dynamisch angefordert, also mit dem new operator. deswegen macht mich das etwas -->
<-- aber egal..Ist das eine komplette Klasse? Oder nur ein paar Code-Fragmente?
Und wie belegt der Autor die Variable xyz mit einem Wert (wenn überhaupt)?