什么是内存泄露 C++

定义

  • 内存泄露(memory lock)是指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。

进一步解释

  • 内存泄露其实并非指内存再物理上的小时,而是在应用程序分配某段内存后,由于涉及错误,死去了对该内存的控制,因而造成了内存的浪费。
  • 一般常说的内存泄露是指堆内存的泄露,堆是动态分配内存的,并且可以分配使用很大的内存,使用不好会产生内存泄露,使用不好会产生内存泄露。频繁的使用malloc和free会产生内存碎片(类似磁盘碎片)。
  • 一般使用malloc、calloc、realloc、new等函数从堆中分配到一块内存,使用完后,也应该对应的调用free或delete来释放内存块,否则这块内存就不能再次使用,造成内存泄露
  • 对new或malloc出的指针进行重新赋值,也会导致内存泄露

猜你喜欢

转载自blog.csdn.net/summer00072/article/details/80861714