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.
Thanks for your feedback!
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Awesome!
Completion rate improved to 2.94
Pointer Cleaner
Swipe to show menu
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.
Thanks for your feedback!