亲宝软件园·资讯

展开

c++ 默认析构函数 从汇编看c++的默认析构函数的使用详解

人气:0
想了解从汇编看c++的默认析构函数的使用详解的相关内容吗,在本文为您仔细讲解c++ 默认析构函数的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:c++,默认析构函数,下面大家一起来学习吧。

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

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

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

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

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

加载全部内容

相关教程
猜你喜欢
用户评论