手机
当前位置:查字典教程网 >编程开发 >C语言 >从汇编看c++的默认析构函数的使用详解
从汇编看c++的默认析构函数的使用详解
摘要:c++中,如果没有为一个类提供析构函数,那么编译器会为这个类提供默认的析构的函数。由于析构函数的功能和构造函数相反,因此和默认的构造函数类似...

c++中,如果没有为一个类提供析构函数,那么编译器会为这个类提供默认的析构的函数。由于析构函数的功能和构造函数相反,因此和默认的构造函数类似,编译器也会提供无用的默认的析构函数,和非无用的析构函数。两者的分析情况一样(对于默认的构造函数分析,请参看《从汇编看c++中默认构造函数的使用分析》)。并且编译器会提供非无用的默认析构函数情形和默认构造函数类似:

1 类含有虚成员函数(类继承自虚基类或者继承的基类含有虚成员函数,也属于这种情况)

2 类继承自一个基类,基类含有自定义析构函数(如果基类没有自定义析构函数,但是编译器会为它提供一个非无用的默认析构函数,也属于这种情况。这就是说,只要基类含有一个析构函数,不管这个析构函数是自定义的,还是编译器提供的非无用的默认析构函数,都行)

3 类包含一个成员对象,该成员对象自定义析构函数(如果成员对象没有自定义析构函数,但是编译器会为它提供一个非无用的默认析构函数,也属于这种情况。这就是说,只要成员变量含有一个析构函数,不管这个析构函数是自定义的,还是编译器提供的非无用的默认析构函数,都行).

并且,对于编译器提供的默认析构函数,不管是无用的,还是非无用的,它们都不会自动清除对象里面所包含的资源。

【从汇编看c++的默认析构函数的使用详解】相关文章:

共用体的定义与应用详细解析

C++函数中return语句的使用方法

红黑树的使用详解

深入分析C++中deque的使用

从汇编看c++中引用与指针的使用分析

基于Sizeof与Strlen的区别以及联系的使用详解

基于稀疏图上的Johnson算法的详解

C++中栈结构建立与操作详细解析

基于C语言EOF与getchar()的使用详解

深入解析函数指针与返回函数的指针

精品推荐
分类导航