欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

從匯編看c++的默認(rèn)析構(gòu)函數(shù)的使用詳解

 更新時(shí)間:2013年05月12日 16:36:19   作者:  
本篇文章是對(duì)c++中默認(rèn)析構(gòu)函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下

c++中,如果沒有為一個(gè)類提供析構(gòu)函數(shù),那么編譯器會(huì)為這個(gè)類提供默認(rèn)的析構(gòu)的函數(shù)。由于析構(gòu)函數(shù)的功能和構(gòu)造函數(shù)相反,因此和默認(rèn)的構(gòu)造函數(shù)類似,編譯器也會(huì)提供無用的默認(rèn)的析構(gòu)函數(shù),和非無用的析構(gòu)函數(shù)。兩者的分析情況一樣(對(duì)于默認(rèn)的構(gòu)造函數(shù)分析,請(qǐng)參看《從匯編看c++中默認(rèn)構(gòu)造函數(shù)的使用分析》)。并且編譯器會(huì)提供非無用的默認(rèn)析構(gòu)函數(shù)情形和默認(rèn)構(gòu)造函數(shù)類似:

1 類含有虛成員函數(shù)(類繼承自虛基類或者繼承的基類含有虛成員函數(shù),也屬于這種情況)

2 類繼承自一個(gè)基類,基類含有自定義析構(gòu)函數(shù)(如果基類沒有自定義析構(gòu)函數(shù),但是編譯器會(huì)為它提供一個(gè)非無用的默認(rèn)析構(gòu)函數(shù),也屬于這種情況。這就是說,只要基類含有一個(gè)析構(gòu)函數(shù),不管這個(gè)析構(gòu)函數(shù)是自定義的,還是編譯器提供的非無用的默認(rèn)析構(gòu)函數(shù),都行)

3 類包含一個(gè)成員對(duì)象,該成員對(duì)象自定義析構(gòu)函數(shù)(如果成員對(duì)象沒有自定義析構(gòu)函數(shù),但是編譯器會(huì)為它提供一個(gè)非無用的默認(rèn)析構(gòu)函數(shù),也屬于這種情況。這就是說,只要成員變量含有一個(gè)析構(gòu)函數(shù),不管這個(gè)析構(gòu)函數(shù)是自定義的,還是編譯器提供的非無用的默認(rèn)析構(gòu)函數(shù),都行).

并且,對(duì)于編譯器提供的默認(rèn)析構(gòu)函數(shù),不管是無用的,還是非無用的,它們都不會(huì)自動(dòng)清除對(duì)象里面所包含的資源。

相關(guān)文章

  • C++學(xué)習(xí)之虛函數(shù)表與多態(tài)詳解

    C++學(xué)習(xí)之虛函數(shù)表與多態(tài)詳解

    這篇文章主要為大家詳細(xì)介紹了C++中虛函數(shù)表與多態(tài)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C++有一定的幫助,感興趣的小伙伴可以了解一下
    2023-03-03
  • 詳解C++中對(duì)構(gòu)造函數(shù)和賦值運(yùn)算符的復(fù)制和移動(dòng)操作

    詳解C++中對(duì)構(gòu)造函數(shù)和賦值運(yùn)算符的復(fù)制和移動(dòng)操作

    這篇文章主要介紹了C++中對(duì)構(gòu)造函數(shù)和賦值運(yùn)算符的復(fù)制和移動(dòng),是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-01-01
  • C語言字符串常用處理函數(shù)小結(jié)

    C語言字符串常用處理函數(shù)小結(jié)

    C語言中有很多內(nèi)置的字符串處理函數(shù),這些函數(shù)都在<string.h>頭文件中聲明,本文給大家介紹C語言字符串常用處理函數(shù)小結(jié),感興趣的朋友一起看看吧
    2023-11-11
  • Qt中樹形控件Tree Widget的使用方法匯總

    Qt中樹形控件Tree Widget的使用方法匯總

    最近小編在研究Tree Widget樹形控件的相關(guān)知識(shí),這種控件其實(shí)有時(shí)還是很有用處的,我主要利用的是帶有復(fù)選框的樹形控件,下面通過實(shí)例代碼給大家介紹下Qt中樹形控件Tree Widget的一些使用方法,感興趣的朋友一起學(xué)習(xí)吧
    2021-11-11
  • C++如何刪除map容器中指定值的元素詳解

    C++如何刪除map容器中指定值的元素詳解

    map容器是C++ STL中的重要一員,刪除map容器中value為指定元素的問題是我們經(jīng)常與遇到的一個(gè)問題,下面這篇文章主要給大家介紹了關(guān)于利用C++如何刪除map容器中指定值的元素的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-06-06
  • 深入探討Linux靜態(tài)庫與動(dòng)態(tài)庫的詳解(一看就懂)

    深入探討Linux靜態(tài)庫與動(dòng)態(tài)庫的詳解(一看就懂)

    本篇文章是對(duì)Linux靜態(tài)庫與動(dòng)態(tài)庫進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言字符串處理的驚天大坑問題解決

    C語言字符串處理的驚天大坑問題解決

    這篇文章主要為大家介紹了C語言字符串處理的驚天大坑問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Qt使用流處理XML文件的示例代碼

    Qt使用流處理XML文件的示例代碼

    XML(eXtensible?Markup?Language)是一種通用的文本格式,被廣泛運(yùn)用于數(shù)據(jù)交換和數(shù)據(jù)存儲(chǔ)。本文主要來和大家聊聊如何使用?Qt?處理?XML?格式的文檔,需要的可以參考一下
    2023-02-02
  • C語言?模擬實(shí)現(xiàn)strlen函數(shù)詳解

    C語言?模擬實(shí)現(xiàn)strlen函數(shù)詳解

    在 C 語言 中我們要獲取 字符串 的長度,可以使用strlen 函數(shù),strlen 函數(shù)計(jì)算字符串的長度時(shí),直到空結(jié)束字符,但不包括空結(jié)束字符,因?yàn)?nbsp;strlen 函數(shù)時(shí)不包含最后的結(jié)束字符的,因此一般使用 strlen函數(shù)計(jì)算的字符串的長度會(huì)比使用 sizeof 計(jì)算的字符串的字節(jié)數(shù)要小
    2022-04-04
  • C++基礎(chǔ)入門教程(八):函數(shù)指針

    C++基礎(chǔ)入門教程(八):函數(shù)指針

    這篇文章主要介紹了C++基礎(chǔ)入門教程(八):函數(shù)指針,本文講解了函數(shù)原型和函數(shù)定義、const限定符與指針、函數(shù)的指針參數(shù)、為什么要使用指針參數(shù)等內(nèi)容,需要的朋友可以參考下
    2014-11-11

最新評(píng)論