在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;
这样可以避免在之后意外访问已经释放的内存空间。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:c++ delete数组有何风险