在C++中,如果定义了对象,在内存中给它分配了空间;如果使用完以后,忘了销毁对象,即无法释放它所占用的内存空间。则这些内存空间一直被占用,直到重 启计算机才可释放,这样就造成了内存泄露。例:本来512Mb的内存,应该有300Mb的内存可用,可真正可以使用的内存只占100Mb,好像内存少了 200Mb一样。如果内存泄露比较严重,会造成系统性能降低,甚至崩溃。因此,为了减少内存泄露的发生,一定要注意对象的销毁问题。首先讨论一下C++中 对象的销毁。
以前一般的处理方法是:
但是这一种方式存在一个问题,必须回显示调用,
假如忘记显示调用,没有对对象销毁前进行清理,很可能造成内存泄漏。
**在c++中提出了一种新的方式(特殊的清理函数),可以自动调用函数进行清理
这种函数叫析构函数**
注意:析构函数与构造函数相反
定义:~ClassName()
-析构函数 没有参数,没有返回值类型声明
-析构函数在对象的销毁是自动调用