zoukankan      html  css  js  c++  java
  • 三种常见的动态内存的管理错误

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

  • 相关阅读:
    灾难 BZOJ 2815
    消耗战 BZOJ 2286
    征途 BZOJ 4518
    纸箱堆叠 BZOJ 2253
    Gate Of Babylon BZOJ 1272
    std::string::npos mean
    [转]整理索引碎片,提升SQL Server速度
    笔记本win7制作wifi
    关闭linux下的使用的端口
    linux多线程
  • 原文地址:https://www.cnblogs.com/qiuyeyaozhuai/p/2719047.html
Copyright © 2011-2022 走看看