当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

delete释放空间时出错的缘由[VC/C++编程]

赞助商链接



  本文“delete释放空间时出错的缘由[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

int *a=new int[10];

......

delete []a;

----------------------------------------------------------

当背面delete []a;呈现错误的情形大致有:

1.数组的首地址a被你有意无意更改了,如:a++之类的;

2.变量的作用域问题,如:你是在一个函数体中new的,却在另一个函数体中delete,这时的a变量已经失效了,这时delete会呈现a为不熟习的标识符的错误;

3.先前已经delete过一次了,不可以delete两次;

4.内存拜候越界,VC分配内存,除了分配你需求的内存空间外还会分配一些管理单元,就在你分配空间的上界和下界,比方内存边界标志(0xFDFDFDFD),假如是数组在上界会记录数组元素的个数,你如果改正了这些管理信息,delete的时刻就会报错.


  以上是“delete释放空间时出错的缘由[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 操纵事件日记来恢复Update、Delete误操作惹起的数据丧失
  • 操纵事件日记来恢复Update、Delete误操作惹起的数据丢
  • <b>More Effective C++:差别new和delete</b>
  • C++中new和delete招致的内存分配问题详解
  • delete释放空间时出错的缘由
  • 在C++中实现C#的delegate机制
  • <b>Ubuntu下Delegate软件自建ipv6代理</b>
  • mysql delete 删除一条记录简单办法
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .