21xrx.com
2024-12-22 21:16:34 Sunday
登录
文章检索 我的文章 写文章
C++ delete数组的方法
2023-07-12 03:22:22 深夜i     --     --
C++中delete数组 动态数组删除 delete[]的使用 内存管理 防止内存泄漏

在C++中,如果要动态地创建一个数组,你需要使用关键字"new",通过"new"关键字申请一个连续的内存空间。和其它编程语言一样,如果你用"new"关键字来手动分配内存,那么在使用完这块内存之后,你也需要做手动的内存释放。那么,这篇文章将会介绍如何在C++中删除数组的方法。

在C++中,你可以通过两种方式来删除数组:

1. 直接使用delete[]关键字

如果你要删除一个数组,你可以只需要使用关键字"delete[]"就行了。例如:


int *p = new int[10];

delete[] p;

上述代码中,先使用"new"申请了10个int类型的空间,接着通过"delete[]"来释放这块内存。

2. 先释放数组元素再删除数组

也可以使用for循环来单独释放数组的元素,再删除数组。例如:


int *p = new int[10];

for (int i = 0; i < 10; i++) {

 delete *(p + i);

}

delete[] p;

这里,我们先用"new"申请了10个int类型的空间,然后使用for循环,逐个释放数组中的元素。最后,我们使用"delete[]"来删除整个数组。

需要注意的是,如果你想要设置指针指向空指针,需要在使用完后将其指向空,以免成为野指针:


p = NULL;

这个过程可以确保一旦您尝试访问指向空指针的内存,就会触发运行时错误,您可以及时修复。

总结:

在C++中,使用delete关键字可以删除动态数组中的元素和整个数组。

如果想要防止指针成为野指针,应当在使用完后将其指向空。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章