内存泄漏及其避免

Tags
C语言
ID
40
 
如下情况可能造成内存资源泄露:
  1. malloc/new 的对象没有 free/delete 掉,而指针被修改;
  1. 编写的析构函数未正确释放内存;
  1. 打开的文件描述符没有关闭,而存储变量被修改;
如何避免造成内存资源泄露:
  1. 尽量减短动态内存的生命周期,确认不再使用后立即释放;
  1. 使用
    valgrind
    进行调试;
  1. 尽量避免使用动态内存空间,使用栈内存;
  1. 遵循谁申请谁释放的原则,一一对应申请和释放操作。