T
Tersus
Gast
Guten Abend Leute,
wie ich den mit new reservierten Speicher wieder freigebe, ist mir klar. Nur der Sinn dahinter nicht so ganz.
So wie das hier ausschaut, hat delete lediglich in die Speicherzelle, auf die ptr zeigt, eine 0 rein geschrieben.
a) Könnte man da auch selbst eine 0 reinschreiben
b) Was unterscheidet die 0 in dieser Speicherzelle von einem andere Integer?
c) Der Zeiger selbst belegt ja auch Speicher. Ist es nötig, ja gar möglich, den Speicher, den der Zeiger ptr benötigt, frei zu geben?
wie ich den mit new reservierten Speicher wieder freigebe, ist mir klar. Nur der Sinn dahinter nicht so ganz.
Code:
int* ptr = new int;
*ptr = 5;
cout << *ptr << endl; // 5
delete ptr;
cout << *ptr << endl; // 0
So wie das hier ausschaut, hat delete lediglich in die Speicherzelle, auf die ptr zeigt, eine 0 rein geschrieben.
a) Könnte man da auch selbst eine 0 reinschreiben
b) Was unterscheidet die 0 in dieser Speicherzelle von einem andere Integer?
c) Der Zeiger selbst belegt ja auch Speicher. Ist es nötig, ja gar möglich, den Speicher, den der Zeiger ptr benötigt, frei zu geben?