动态内存管理常见的错误

下面三种常见的程序错误都与动态内存分配相关:
1.  删除( delete )指向动态分配内存的指针失败,因而无法将该
块内存返还给自由存储区。删除动态分配内存失败称为“内存泄
漏(memory leak)”。内存泄漏很难发现,一般需等应用程序运
行了一段时间后,耗尽了所有内存空间时,内存泄漏才会显露出
来。
2.  读写已删除的对象。如果删除指针所指向的对象之后,将指针置
为 0 值,则比较容易检测出这类错误。
3.  对同一个内存空间使用两次 delete 表达式。当两个指针指向同
一个动态创建的对象,删除时就会发生错误。如果在其中一个指
针上做 delete 运算,将该对象的内存空间返还给自由存储区,
然后接着 delete 第二个指针,此时则自由存储区可能会被破坏。
操纵动态分配的内存时,很容易发生上述错误,但这些错误却难以跟踪
和修正。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值