中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

C++析構函數的自動調用問題
來源:易賢網 閱讀:1190 次 日期:2015-03-27 11:40:02
溫馨提示:易賢網小編為您整理了“C++析構函數的自動調用問題”,方便廣大網友查閱!

首先要明確一點,系統只會自動釋放棧內空間,而堆內空間需要用戶自己維護。

C++中,除了new來的空間存放在堆內,其他均存放在棧中。

當單純的創建對象的時候,對象存放在棧中,此時在程序塊的}后面,系統會自動調用析構函數,釋放掉棧空間。

但是,如果創建了指向new來的一塊空間的指針的時候,如果在沒有顯示釋放掉new到的堆空間時,系統是不會自動調用析構函數去釋放棧空間中的指針的。

示例代碼如下

#pragma once

#include <iostream>

using namespace std;

class CBase

{

public:

CBase(int num){this->num = num;cout<<num<<"號Base類構造函數運行!"<<endl;};

~CBase(){cout<<num<<"號Base類析構函數運行!"<<endl;};

private:

int num;

};

void main()

{

CBase bobj(1);//析構函數會自動調用

CBase *bptr = new CBase(2);

//delete bptr;//如果沒有這句,系統不會自動運行2號的析構函數。

}

此處delete釋放的是堆空間中的指針。指針釋放后,系統會自動調用析構函數,釋放棧中的CBase 2號對象。

Effective C++ 條款6:析構函數里對指針成員調用delete

大多數情況下,執行動態內存分配的的類都在構造函數里用new分配內存,然后在析構函數里用delete釋放內存。最初寫這個類的時候當然不難做,你會記得最后對在所有構造函數里分配了內存的所有成員使用delete。

然而,這個類經過維護、升級后,情況就會變得困難了,因為對類的代碼進行修改的程序員不一定就是最早寫這個類的人。而增加一個指針成員意味著幾乎都要進行下面的工作:

·在每個構造函數里對指針進行初始化。對于一些構造函數,如果沒有內存要分配給指針的話,指針要被初始化為0(即空指針)。

·刪除現有的內存,通過賦值操作符分配給指針新的內存。

·在析構函數里刪除指針。

如果在構造函數里忘了初始化某個指針,或者在賦值操作的過程中忘了處理它,問題會出現得很快,很明顯,所以在實踐中這兩個問題不會那么折磨你。但是,如果在析構函數里沒有刪除指針,它不會表現出很明顯的外部癥狀。相反,它可能只是表現為一點微小的內存泄露,并且不斷增長,最后吞噬了你的地址空間,導致程序夭折。因為這種情況經常不那么引人注意,所以每增加一個指針成員到類里時一定要記清楚。

另外,刪除空指針是安全的(因為它什么也沒做)。所以,在寫構造函數,賦值操作符,或其他成員函數時,類的每個指針成員要么指向有效的內存,要么就指向空,那在你的析構函數里你就可以只用簡單地delete掉他們,而不用擔心他們是不是被new過。

當然對本條款的使用也不要絕對。例如,你當然不會用delete去刪除一個沒有用new來初始化的指針,而且,就象用智能指針對象時不用勞你去刪除一樣,你也永遠不會去刪除一個傳遞給你的指針。換句話說,除非類成員最初用了new,否則是不用在析構函數里用delete的。

說到智能指針,這里介紹一種避免必須刪除指針成員的方法,即把這些成員用智能指針對象來代替,比如c++標準庫里的auto_ptr。想知道它是如何工作的,看看條款m9和m10。

自我理解:

C++ 如果類中有一個指針數據成員,而你沒有用new, 析構函數是不用delete的。

在類中,int、char 這些只要不是new的,也同樣不用釋放,系統會自動把他們占的內存釋放掉,只有new 的才會手動的去delete。

int char ,這些基本類型,是局部變量,存在于棧上。而一個指針定義的時候,也是在棧上比如int *p;p在棧上,而且p的值也是棧的一個地址。

但是當int *p = new int ;這時候,p這個變量是在棧上的。但是p的值是一個地址,這個地址是堆上的一個地址。

如果不delete p;那么,這個地址會一直被占用著,不能被其他的對象所使用,所以我們用完這個地址,要把這個地址釋放掉。

更多信息請查看IT技術專欄

更多信息請查看腳本欄目
易賢網手機網站地址:C++析構函數的自動調用問題
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美色道久久88综合亚洲精品| 9久草视频在线视频精品| 国产精品免费区二区三区观看| 99热这里只有成人精品国产| 欧美精品一区二区三区蜜臀| 日韩午夜av电影| 国产欧美日韩亚州综合| 久久综合九色| 亚洲欧美中文字幕| 99成人在线| 尤物在线观看一区| 欧美午夜寂寞影院| 欧美日韩一区综合| 久久精品国产精品亚洲综合| 99精品视频免费在线观看| 激情欧美一区| 国一区二区在线观看| 国产精品美女久久久免费| 欧美成人免费va影院高清| 欧美一区不卡| 欧美一区二区三区免费观看视频 | 日韩亚洲综合在线| 国产中文一区| 日韩一区二区精品视频| 亚洲精选视频在线| 欧美成人久久| 在线中文字幕不卡| 在线观看日韩欧美| 国产精品一区视频网站| 欧美日韩第一页| 欧美激情综合| 欧美日韩亚洲一区二区三区在线观看 | 久久久精品久久久久| 日韩视频在线一区二区| 亚洲伊人伊色伊影伊综合网| 亚洲精品日韩激情在线电影| 欧美激情小视频| 欧美裸体一区二区三区| 国产精品欧美一区喷水| 国产情侣久久| 最新成人av在线| 日韩一级精品| 六月丁香综合| 亚洲欧美色婷婷| 久久精品日韩欧美| 欧美理论电影在线播放| 国产精品捆绑调教| 一区二区三区在线免费播放| 亚洲毛片在线观看.| 久久精品一区二区| 欧美精品18+| 伊人天天综合| 午夜精品久久久久久久99热浪潮| 老鸭窝毛片一区二区三区 | 免费观看日韩av| 欧美亚洲成人免费| 亚洲精品视频在线看| 久久精品二区亚洲w码| 欧美日韩亚洲三区| 尤物yw午夜国产精品视频明星| 亚洲女人小视频在线观看| 久久综合电影| 国产一级一区二区| 久久av老司机精品网站导航| 国产精品视频内| 亚洲专区免费| 国产欧美日韩精品一区 | 国产日韩综合| 久久av一区二区| 一区在线电影| 欧美区视频在线观看| 亚洲一区二区三区在线| 国产伦精品一区二区三区照片91 | 美女国产精品| 一区二区三区久久网| 国产综合在线视频| 国产精品视频导航| 国产三区二区一区久久| 性欧美暴力猛交另类hd| 欧美日本网站| 国产精品视频九色porn| 欧美.www| 性欧美video另类hd性玩具| 一区二区三区在线免费视频| 欧美国产高清| 欧美亚洲免费在线| 最新高清无码专区| 国产一区二区久久| 欧美日韩亚洲高清| 美女黄色成人网| 欧美在线精品免播放器视频| 日韩视频在线一区二区| 国产小视频国产精品| 欧美久久久久中文字幕| 久久久在线视频| 欧美一区不卡| 性欧美1819sex性高清| 久久精品综合一区| 亚洲视频一二三| 一本久道久久综合狠狠爱| 亚洲黄色在线观看| 在线观看av一区| 亚洲大胆人体视频| 91久久在线观看| 亚洲精品视频在线| 久久不射中文字幕| 亚洲一区二区四区| 亚洲免费视频成人| 欧美一区二区私人影院日本| 欧美伊人影院| 老牛影视一区二区三区| 欧美激情成人在线| 国产精品久久久久久五月尺| 国产精品v欧美精品v日韩| 国产精品一区一区三区| 好吊妞这里只有精品| 亚洲欧洲精品一区二区三区 | 国产嫩草影院久久久久 | 欧美日韩亚洲一区二| 国产精品成人va在线观看| 国内精品国产成人| 日韩视频一区二区三区| 欧美一区二区福利在线| 国产精品网站一区| 久久国产直播| 欧美日韩综合久久| 亚洲第一网站| 香蕉久久精品日日躁夜夜躁| 欧美午夜视频网站| 一区二区三区成人| 欧美久色视频| 一区二区三区成人精品| 国产精品久久久久久久7电影| 日韩视频免费| 国产一区二区你懂的| 欧美一级免费视频| 国产模特精品视频久久久久 | 欧美人体xx| 国产一区二区三区四区hd| 先锋资源久久| 国产婷婷成人久久av免费高清 | 亚洲精品中文字幕有码专区| 久久超碰97中文字幕| 国产欧美日韩中文字幕在线| 亚洲自拍电影| 国产精品日韩欧美一区二区| 亚洲综合国产激情另类一区| 国产精品第一区| 欧美在线观看视频| 国外成人在线| 欧美激情视频一区二区三区不卡| 国产视频观看一区| 久久国产主播| 亚洲精品久久久久| 欧美色视频一区| 午夜精品久久久99热福利| 韩国精品在线观看| 另类天堂av| 一本久久综合亚洲鲁鲁| 国产酒店精品激情| 欧美xart系列高清| 小处雏高清一区二区三区| 在线观看日韩一区| 国产精品永久免费在线| 欧美大片一区二区| 欧美在线电影| 亚洲新中文字幕| 日韩视频不卡| 精品动漫一区二区| 国产乱码精品一区二区三区忘忧草 | 欧美一区亚洲二区| 亚洲三级观看| 亚洲国产成人av| 亚洲国产成人精品久久| 国产欧美日韩精品a在线观看| 免费不卡亚洲欧美| 久久精品五月| 久久精品综合| 欧美一级在线视频| 午夜精品视频网站| 午夜电影亚洲| 久久国产欧美日韩精品| 欧美在线视频免费| 久久精品欧洲| 麻豆视频一区二区| 欧美精品在线观看播放| 蜜臀av性久久久久蜜臀aⅴ| 免费视频亚洲| 国产精品乱码一区二区三区| 欧美视频在线看| 国产麻豆精品久久一二三| 国产日韩欧美综合一区| 在线观看精品| 亚洲一区二区三区中文字幕在线| 性欧美大战久久久久久久免费观看| 久久蜜桃精品| 欧美久久综合| 国产亚洲一区二区三区在线播放| 亚洲第一精品福利| 午夜电影亚洲|