在C++中,要正确删除数组,首先需要使用delete[]
操作符来释放数组所占用的内存空间。使用delete
操作符只会释放数组中第一个元素所占用的内存空间,而不会释放整个数组所占用的内存空间,可能导致内存泄漏。
正确使用delete[]
操作符的示例代码如下:
int* arr = new int[5];
// 使用数组
delete[] arr;
在上面的示例中,我们首先使用new
操作符为整型数组arr
分配了5个元素的内存空间,然后使用delete[]
操作符释放了数组arr
所占用的内存空间。
另外,为了避免数组被删除之后仍然被访问,建议在释放数组内存空间之后将指针设置为nullptr
,如下所示:
int* arr = new int[5];
// 使用数组
delete[] arr;
arr = nullptr;
这样可以避免在之后意外访问已经释放的内存空间。