使用堆的方式弄出来一个数组为什么一定要delete[]
来源:互联网 发布:广电网络能吃鸡吗 编辑:程序博客网 时间:2024/05/18 17:59
很简单,因为我们不delete[]的话,将会导致内存泄漏
详见下面的几个截图
你会发现。。。。。。这样子会导致程序直接崩溃的。。。。。。这是最最最让人难以忍受的后果
同时还有一些小关键
对于指针,我觉得真的有很多要注意的小地方。
首先我们如果使用coor++,
那么此时我们的coor[0]就不是指向第一个元素了,而是指向第二个元素了,虽然它的索引是0,
而且此时,一定要注意!
delete[]coor;在这里,虽然你注意到了使用[],
但是!这是错误的!
因为coor在这里已经不再指向我们原来申请的出来的那个地址了
要想恢复很简单,直接coor--;
补充一点点:
coor在delete之后应该赋值NULL;
coor=NULL;
这样子会安全一点
阅读全文
0 0
- 使用堆的方式弄出来一个数组为什么一定要delete[]
- new出来的对象一定要delete
- 一个二维数组以顺时针螺旋的方式打印出来
- 一定要配对的使用new和delete
- [C/C++]_[中级]_[使用智能指针的方式释放malloc出来的堆空间]
- new 的一定要delete吗?
- 堆和栈的区别以及衍生出来的栈的效率为什么比堆高
- 堆和栈的区别以及衍生出来的栈的效率为什么比堆高
- 为什么一定要弄框架
- 你为什么一定要使用 Google ?
- 你为什么一定要使用 Google ?
- new 一定要与 delete 配合使用吗?
- csdn的blog为什么多出来一个%20
- 一个自动在栈和堆上分配变长数组的实现方式
- [转贴]new 一个数组,然后对数组pp越界访问,delete []pp 时出错,为什么?
- ngFor循环出来的数组,在判断上区别可以自定义一个属性给循环出来的当前数组,供使用
- 一定要配对的使用new和delete,否则将发生内存泄露(memory leak)
- 一个使用new和delete的示例
- 两数之和 & 三数之和
- COGS 2580. [HZOI 2015]偏序 II
- 读书笔记,软件生存期模型
- Error : Execution failed for task : 'clean' . > unable delete directory : \build\...
- 我的并行计算之路(二)MPI点对点通信MPI_Send和MPI_Recv
- 使用堆的方式弄出来一个数组为什么一定要delete[]
- Springboot 整合 Mybatis 的完整 Web 案例
- STL(九)slist单向链表容器
- 求任意两个数之间二进制表示的位数不同的数量之和
- 去探索
- retrofit2简易源码解析
- UITableView的重用机制
- Person Re-Identification CVPR 2017 论文列表
- 浅析ReentLock的使用