b4ck
0
Hi leute sry das ich schon wieder hier nen Thread auf mache aber ich beschäfte mich atm mit Zeigern in C++ hab mir auch endlich ein RICHTIGES buch gekauft mit dem ich auch zufrieden bin ...
Nun beim Kapitel Zeiger angelangt ging es um dynamische Objekte und das man den Speicher wieder freigeben kann zB:
int* pointer = new int;
*pointer = 100;
delete pointer;
Dazu gabs ein gutes Bespiel und da ist mir was komsiches Passiert hier der Source:
Es geht um die Letzten Zeilen.. nachdem ich mit delete pointer1; und delete pointer2;
den Speicher freigegeben habe sollte ja der Wert auf 0 stehen jedoch:
Im bild zu sehen:
Wieso ist pointer2 nicht auf 0?
Nun beim Kapitel Zeiger angelangt ging es um dynamische Objekte und das man den Speicher wieder freigeben kann zB:
int* pointer = new int;
*pointer = 100;
delete pointer;
Dazu gabs ein gutes Bespiel und da ist mir was komsiches Passiert hier der Source:
Code:
//Dynamische Objekte (NEW/DELETE
#include <iostream>
using namespace std;
int main()
{
int* pointer1 = new int;
int* pointer2 = new int;
int tmp;
*pointer1=100;
*pointer2=200;
cout << "Wert von pointer1: " << *pointer1 << "\n";
cout << "Wert von pointer2: " << *pointer2 << "\n";
cout << "Addr von pointer1: " << &pointer1 << "\n";
cout << "Addr von pointer2: " << &pointer2 << "\n\n";
cout << "Werte Tauschen...\n\n";
//Werte tauschen
tmp = *pointer2;
*pointer2=*pointer1;
*pointer1=tmp;
cout << "Wert von pointer1: " << *pointer1 << "\n";
cout << "Wert von pointer2: " << *pointer2 << "\n";
cout << "Addr von pointer1: " << &pointer1 << "\n";
cout << "Addr von pointer2: " << &pointer2 << "\n\n";
cout<<"Speicher wieder freigeben...\n\n";
//Speicher wieder freigeben
delete pointer1;
delete pointer2;
cout << "Wert von pointer1: " << *pointer1 << "\n";
cout << "Wert von pointer2: " << *pointer2 << "\n";
cout << "Addr von pointer1: " << &pointer1 << "\n";
cout << "Addr von pointer2: " << &pointer2 << "\n\n";
system("pause>nul");
return 0;
}
den Speicher freigegeben habe sollte ja der Wert auf 0 stehen jedoch:
Im bild zu sehen:
Wieso ist pointer2 nicht auf 0?