new 和delete

      下面三个常见程序错误都与动态内存分配有关:

 
1:  应用delete表达式失败,使内存无法返回空闲存储区。这被称作内存泄漏(memoryleak)。
2 : 对同一内存区应用了两次delete表达式,这通常发生在两个指针指向同一个动态分配对象的时候,这是一个很难踉踪的问题。若多个指针指向同一个对象,当通过某一个指针释放了该对象时,就会发生这样的情况。此时,该对象的内存被返回给空闲存储区,然后又被分配给某个别的对象。接着指向旧对象的第二个指针被释放,新对象也就跟着消失了。
3: 在对象被释放后读写该对象。这常常会发生因为delete表达式应用的指针没有被设置为0。这些操纵动态分配内存的错误比较容易出现,而且难于跟踪和修正。为帮助程序员更好地管理动态分配的内存C++库提供了auto_ptr类类型的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值