青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Benjamin

靜以修身,儉以養德,非澹薄無以明志,非寧靜無以致遠。
隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
數據加載中……

C++之Destructors(析構函數)

Destructors實質是釋放資源;
類的析構執行順序是先構造(Constructed)的(成員),最后被Destructors,數組成員同樣如此,例如:數組a[0], a[1], ..., a[8], a[9]: 析構執行順序是a[9], a[8], ..., a[1], a[0]:不能有參數,不能有返回值,不能重載;只能在(對象關閉)自動調用,不能顯示調用析構函數(除非placement new),不可以調用兩次。
值得注意的是不能顯式調用析構函數,即使局部變量也不行。此時我們需要這樣處理:
void someCode()
 {
   {
     File f;
    ...........
   }
 // f 的析構函數在此處會被自動調用!
 }
如果上述的方案還是不可行,我們可以考慮增加一個和析構函數等效的成員方法,例如:我們常見File類,就可增加一個Close()成員方法,但是要記住和析構函數一樣,不能聯系調用兩次,我們可以將一個fileHandle_數據成員設置為 -1,并且在開頭檢查fileHandle_是否已經等于-1;
class File {
 public:
   void close();
   ~File();
   ...
 private:
   int fileHandle_;   
// fileHandle_ >= 0 if/only-if it's open
 };
 
 File::~File()
 {
   close();
 }
 
 void File::close()
 {
   if (fileHandle_ >= 0) {
     
...insert code to call the OS to close the file...
     fileHandle_ = -1;
   }
 }
如果一個對象是new的,那么在delete中也不能顯示調用析構函數,因為delete做了兩件事,調用析構銷毀對象和釋放空間。這里的new可不是operator new,后者只是分配空間,并沒調用構造函數。
placement最明顯的作用就是把對象放到特定的內存位置。

#include <new>        // Must #include this to use "placement new"
 #include "Fred.h"     
// Declaration of class Fred
 
 void someCode()
 {
   char memory[sizeof(Fred)];     
// Line #1
   void* place = memory;          
// Line #2
 
   Fred* f = new(place) Fred();   
// Line #3 (see "DANGER" below)
   
// The pointers f and place will be equal
 
   
...
 }
Line #3中的構造函數中的this指針將等于place,f的返回值也是place,注意:placenew指向的指針要有足夠的空間,并且需要為所創建的對象進行邊界調整,編譯器和系統不會對此進行任何檢查,另外placenew的析構應該像如下這樣編寫:
void someCode()
 {
   char memory[sizeof(Fred)];
   void* p = memory;
   Fred* f = new(p) Fred();
   ...
   f->~Fred();   
// Explicitly call the destructor for the placed object
 }
在編寫析構函數時,也不能顯正調用成員的析構函數,類的析構函數會自動調用成員的析構,按照和它們在類中的聲明的順序相反的順序被析構。
在派生類的析構中,不能顯式調用基類的析構。派生類的析構會自動調用基類的析構函數。在多重繼承的情況下,直接基類以出現在繼承列表中的順序的反序被析構。

posted on 2010-11-26 00:18 Benjamin 閱讀(1052) 評論(1)  編輯 收藏 引用 所屬分類: C/C++

評論

# seo backlinks  回復  更多評論   

好貼。我必須說,這個職位處理了話題,能真正傳授新的思路。我真的很感激。希望你們繼續發布有用的職位。
2011-01-11 16:25 | dating website
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区日韩欧美| 亚洲精品欧美日韩| 性色av一区二区三区在线观看| 亚洲激情专区| 欧美a级大片| 亚洲乱码国产乱码精品精天堂 | 欧美日韩一区二区欧美激情 | 国产精品久久99| 亚洲影视综合| 亚洲欧美视频一区二区三区| 国产日韩欧美一区| 免费观看一区| 欧美极品影院| 久久国产欧美精品| 免费在线看一区| 亚洲一级片在线看| 欧美一区二区三区喷汁尤物| 在线观看欧美视频| 亚洲卡通欧美制服中文| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 欧美亚洲网站| 亚洲福利在线看| 99视频在线观看一区三区| 国产精品久久久一区二区| 久久久999国产| 欧美v日韩v国产v| 性做久久久久久久免费看| 久久久亚洲高清| 一区二区三区国产| 欧美在线日韩在线| 中文网丁香综合网| 久久精品色图| 亚洲午夜电影在线观看| 久久久www免费人成黑人精品 | 欧美日韩三级| 另类天堂视频在线观看| 国产精品永久免费在线| 久久精品一区二区三区不卡| 欧美激情一区三区| 欧美一级片在线播放| 美女爽到呻吟久久久久| 欧美一级理论性理论a| 久久亚洲综合色一区二区三区| 亚洲欧美精品suv| 蜜臀久久99精品久久久画质超高清| 亚洲综合二区| 免费看黄裸体一级大秀欧美| 欧美天天在线| 亚洲欧洲精品一区二区精品久久久 | 久久精品一二三| 欧美天堂亚洲电影院在线观看 | 香蕉精品999视频一区二区| 免费中文日韩| 久久久久久久久岛国免费| 欧美日韩亚洲一区三区 | 亚洲综合日韩中文字幕v在线| 另类尿喷潮videofree| 久久久久久9999| 国产精品综合色区在线观看| 日韩一区二区精品葵司在线| 亚洲三级视频| 欧美大片国产精品| 欧美成人一区二区| 在线观看中文字幕不卡| 欧美一区二区三区男人的天堂| 亚洲欧美日韩精品在线| 国产精品久久久久久久久果冻传媒| 亚洲第一精品在线| 亚洲高清一区二| 久久久视频精品| 免费亚洲一区| 亚洲国产精品久久久| 麻豆精品国产91久久久久久| 欧美高清日韩| 亚洲蜜桃精久久久久久久| 欧美成人蜜桃| 99在线精品免费视频九九视| 亚洲视频在线观看三级| 国产精品高清一区二区三区| 亚洲午夜精品久久| 欧美一区二区三区久久精品茉莉花| 国产精品swag| 欧美在线free| 欧美不卡在线视频| 亚洲人成小说网站色在线| 欧美精品一线| 一区二区欧美在线观看| 欧美诱惑福利视频| 一区国产精品| 欧美成年人视频| 在线视频亚洲| 久久久久久久综合色一本| 亚洲电影第三页| 欧美美女bbbb| 校园激情久久| 欧美成人免费播放| 在线亚洲高清视频| 国产日韩欧美精品在线| 蜜桃av综合| 亚洲性图久久| 欧美第十八页| 亚洲欧美成人精品| 激情国产一区| 欧美午夜一区二区福利视频| 亚洲欧美日本视频在线观看| 老司机免费视频一区二区三区| 日韩视频在线一区二区| 国产欧美精品一区二区色综合| 久久一区二区三区四区| 一区二区三区四区精品| 久久影音先锋| 亚洲午夜一二三区视频| 亚洲高清激情| 国产精品一区二区三区免费观看 | 久久精品国产99| 亚洲精品在线视频观看| 老司机精品导航| 亚洲字幕在线观看| 亚洲精品乱码久久久久久按摩观 | 久久婷婷综合激情| 亚洲一区二区三区四区五区黄| 欧美成人四级电影| 欧美一区二区黄| 一区二区精品| 91久久夜色精品国产九色| 国产亚洲a∨片在线观看| 欧美日韩性生活视频| 免费看亚洲片| 久久国产精品久久久久久电车| 亚洲精品综合| 欧美好骚综合网| 毛片精品免费在线观看| 欧美一区二区久久久| 亚洲一区自拍| 中日韩视频在线观看| 亚洲美女精品成人在线视频| 在线免费不卡视频| 在线精品福利| 激情欧美丁香| 国内精品视频一区| 国产综合婷婷| 国产无一区二区| 国产视频一区在线| 国产视频一区二区在线观看| 国产精品久久久久久亚洲调教| 欧美日韩精品一区| 欧美日韩精品不卡| 欧美视频在线观看视频极品| 欧美精品一线| 欧美视频四区| 国产精品美女黄网| 国产精品系列在线| 国产亚洲aⅴaaaaaa毛片| 国产日韩久久| 黄色小说综合网站| 黄色国产精品一区二区三区| 在线观看日韩av电影| 在线观看一区二区精品视频| 亚洲高清久久久| 99视频精品在线| 亚洲视频电影图片偷拍一区| 亚洲一区激情| 久久精品国产一区二区三区免费看 | 欧美日本在线看| 欧美日韩视频在线一区二区观看视频| 欧美日韩另类在线| 欧美性猛交99久久久久99按摩 | 久久综合伊人77777麻豆| 欧美 日韩 国产一区二区在线视频 | 美女国产一区| 亚洲黄网站在线观看| 亚洲精品一区二区三区四区高清 | 亚洲高清不卡在线| 99精品免费| 欧美在线999| 欧美激情一区二区三区高清视频| 欧美日韩免费网站| 国产一区二区日韩| 亚洲精品国产欧美| 午夜亚洲性色福利视频| 免费欧美日韩国产三级电影| 亚洲美女视频在线观看| 性伦欧美刺激片在线观看| 美日韩精品视频| 国产精品日韩电影| 亚洲欧洲日本国产| 午夜精品成人在线| 亚洲风情在线资源站| 香蕉久久一区二区不卡无毒影院 | 亚洲一区一卡| 另类激情亚洲| 国产欧美一区二区三区国产幕精品 | 欧美国产欧美综合| 国产欧美一区二区三区沐欲| 亚洲精品网站在线播放gif| 久久狠狠久久综合桃花| 日韩小视频在线观看专区| 久久精品中文字幕免费mv| 欧美性猛片xxxx免费看久爱 | 欧美极品一区|