内存泄漏是指由于疏忽或错误使得应用程序未能释放不在使用的内存。内存泄漏并非物理上内存的消失,而是应用程序在分配内存后,由于设计错误,导致该段内存在被释放之前失去了对它的控制,从而导致内存浪费。
我们常说的内存泄漏是指堆的内存泄漏。使用malloc,realloc,new在堆上申请内存空间,在使用完毕后必须使用free或delete释放掉,如果没有手动释放,我们就说这块内存泄漏了。