Pointer Cleaner
The operator delete frees up the allocated memory, but it doesn’t delete the pointer:
12345678910int *x = new int; *x = 42; cout << "Address: " << x << endl; cout << "Value: " << *x << endl; delete x; cout << "Address: " << x << endl; cout << "Value: " << *x << endl;
As you can see, the pointer still remembers the address it refers to. Pointers that point to nonexistent units of memory are called dangling pointers. To avoid problems, you can assign to your pointer nullptr:
x = nullptr;
The keyword nullptr represents the value of the empty pointer. It’s a good practice to assign nullptr to a pointer so as not to crash your program by pointing to the unit of memory you will not use.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Fragen Sie mich Fragen zu diesem Thema
Zusammenfassen Sie dieses Kapitel
Zeige reale Beispiele
Großartig!
Completion Rate verbessert auf 2.94
Pointer Cleaner
Swipe um das Menü anzuzeigen
The operator delete frees up the allocated memory, but it doesn’t delete the pointer:
12345678910int *x = new int; *x = 42; cout << "Address: " << x << endl; cout << "Value: " << *x << endl; delete x; cout << "Address: " << x << endl; cout << "Value: " << *x << endl;
As you can see, the pointer still remembers the address it refers to. Pointers that point to nonexistent units of memory are called dangling pointers. To avoid problems, you can assign to your pointer nullptr:
x = nullptr;
The keyword nullptr represents the value of the empty pointer. It’s a good practice to assign nullptr to a pointer so as not to crash your program by pointing to the unit of memory you will not use.
Danke für Ihr Feedback!