delete array of pointers
To delete an array of pointers in C++, you need to follow these steps:
Initialize the array of pointers: Start by declaring and initializing the array of pointers. Each element of the array should point to a dynamically allocated object.
Loop through the array: Use a loop to iterate through each element in the array.
Delete each pointer: Inside the loop, use the
delete
keyword to deallocate the memory pointed to by each element of the array. This step ensures that the objects are properly destroyed, and their memory is freed.Delete the array: After the loop, use the
delete[]
keyword to delete the array itself. This step releases the memory allocated for the array.
Here is an example code snippet that demonstrates the above steps:
int main() {
// Step 1: Initialize the array of pointers
int* pointers[5];
for (int i = 0; i < 5; i++) {
pointers[i] = new int(i);
}
// Step 2: Loop through the array
for (int i = 0; i < 5; i++) {
// Step 3: Delete each pointer
delete pointers[i];
}
// Step 4: Delete the array
delete[] pointers;
return 0;
}
In this example, an array of pointers pointers
is declared and initialized with dynamically allocated integers. The loop then iterates through each element of the array, deleting the memory pointed to by each pointer using the delete
keyword. Finally, the delete[]
keyword is used to delete the array itself.
Note that it is important to follow these steps in order to avoid memory leaks and undefined behavior.