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

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

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

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

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

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

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

c++中const的使用详解

成员初始化列表与构造函数体中的区别详细解析

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

从汇编看c++中默认构造函数的使用分析

红黑树的使用详解

Reactor反应器的实现方法详解

C++拷贝构造函数(深拷贝与浅拷贝)详解

C++中函数的默认参数详细解析

C++中点操作符和箭头操作符的使用详解

C++Primer笔记之顺序容器的使用详解

精品推荐
分类导航