如果我们没有一个良好的编程习惯,很可能在我们已经编写好的大段代码中存在内存泄漏问题。一旦内存泄漏发生,这就需要我们花费大量的时间和精力去解决它,因而造成不必要的麻烦。因此,我们应该养成良好的编程习惯,尽可能避免内存泄漏的发生。
内存泄漏是指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。
堆内存泄漏(Heap leak)。堆内存指的是程序执行中依据需要分配,通过malloc,realloc new等从堆中分配的一块内存,在使用完毕后必须通过调用相应的 free或者delete 删掉。假如程序设计的错误导致这部分内存没有被释放,那么此后这块内存将不会被使用,就会产生Heap Leak. (malloc申请到的内存,没有进行free释放。)