c

析构函数是不能人为调用的,它由编译器根据某对象是否已超出它的作用域来决定是否调用析构函数。上面的析构函数没有做任何有意义的动作,仅仅说明它已经被调用了,这是因为编译器会自动释放该对象所占用的内存空间。如果在构造函数中使用new或其他方法在堆中申请了内存,这时就要在析构函数中使用delete或相应的释放方法去释放内存,否则,系统不会释放内存,这样就会产生内存漏洞。

如果没有编写自己的析构函数,那么编译器将产生一个默认析构函数。对于本身就是c++对象的数据成员来说,默认构造函数会调用这些对象的析构函数。

posted @ 2011-12-07 11:46  Because Of You  Views(131)  Comments(0Edit  收藏  举报