析构函数

一般情况下类的析构函数里面都是释放内存资源,而析构函数不被调用的话就会造成内存泄漏。

当构造函数中使用了new,那么析构函数则使用delete。

析构函数不带任何参数,不返回任何东西(译注:void也不行)。

基类的析构函数一般设计成虚函数 是为了当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用。

并不是要把所有类的析构函数都写成虚函数。因为当类里面有虚函数的时候,编译器会给类添加一个虚函数表,里面来存放虚函数指针,这样就会增加类的存储空间。所以,只有当一个类被用来作为基类的时候,才把析构函数写成虚函数。

阅读更多
文章标签: 编译器 delete 存储
个人分类: C++
上一篇诫子书
下一篇虚拟函数表(Virtual Table)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭