C++中析构函数的作用

析构函数的作用

  • 析构作用
  • 类析构顺序

析构作用

析构函数与构造函数对应,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统
会自动执行析构函数。
析构函数名也应与类名相同,只是在函数名前面加一个位取反符,例如stud( ),以区别
于构造函数。它不能带任何参数,也没有返回值(包括 void 类型)。只能有一个析构函数,不
能重载。
如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数(即使自定义了析构
函数,编译器也总是会为我们合成一个析构函数,并且如果自定义了析构函数,编译器在执行时
会先调用自定义的析构函数再调用合成的析构函数),它也不进行任何操作。所以许多简单的类
中没有用显式的析构函数。
如果一个类中有指针,且在使用的过程中动态的申请了内存,那么最好显示构造析构函数在
销毁类之前,释放掉申请的内存空间,避免内存泄漏

类析构顺序

1)派生类本身的析构函数;2)对象成员析构函数;3)基类析构函数。

你可能感兴趣的:(C和C++完整教程)