How to Delete a Pointer in C++?
Last Updated :
19 Feb, 2024
In C++, memory management is essential to avoid memory leaks, crashes, and undefinable behavior. In this article, we will learn how to properly delete a pointer in C++.
Deleting a Pointer in C++
By deleting a pointer, we refer to deleting the memory allocated to the pointer. To delete a pointer in C++ we can use the delete keyword and for arrays allocated with new
, use delete[]
to deallocate the memory.
After, deleting or deallocating the memory, we should assign the nullptr to the pointer.
Syntax to Delete the Pointer in C++
For deleting the pointer variable use:
delete pointerName;
For deleting the pointer array use:
delete[] arrayPointer;
Also, if you have used the malloc() or calloc() function to allocate the memory, then use the free() function for deallocation.
C++ Program to Delete a Pointer
The below example demonstrates how we can delete a pointer properly in C++.
C++
#include <iostream>
using namespace std;
int main()
{
int * dynamicInt = new int ;
if (dynamicInt != nullptr) {
*dynamicInt = 42;
cout << "Value of dynamicInt: " << *dynamicInt
<< endl;
delete dynamicInt;
dynamicInt = nullptr;
}
return 0;
}
|
Output
Value of dynamicInt: 42
Note: Undefined behavior occurs when attempting to remove a single point more than one time. So, before deleting the pointer, always check that it is not null .
Share your thoughts in the comments
Please Login to comment...