黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級(jí) | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

計(jì)算機(jī)等級(jí)考試二級(jí)C++復(fù)習(xí)指導(dǎo):深入new

計(jì)算機(jī)等級(jí)考試二級(jí)C++復(fù)習(xí)指導(dǎo):深入new

  模板是比較高級(jí)的C++編程技巧,模板特化、模板偏特化就更是技巧性很強(qiáng)的東 西,STL中的type_traits充分借助模板特化的功能,實(shí)現(xiàn)了在程序編譯期通過編譯器來決定為每一處調(diào)用使用哪個(gè)特化版本,于是在不增加編程復(fù)雜 性的前提下大大提高了程序的運(yùn)行效率。更詳細(xì)的內(nèi)容可參考《STL源碼剖析》第二、三章中的相關(guān)內(nèi)容。

  帶有“[]”的new和delete

  我們經(jīng)常會(huì)通過new來動(dòng)態(tài)創(chuàng)建一個(gè)數(shù)組,例如:

  char* s = new char[100];

  ……

  delete s;

  嚴(yán)格的說,上述代碼是不正確的,因?yàn)槲覀冊(cè)诜峙鋬?nèi)存時(shí)使用的是new[],而并不是簡單的new,但釋放內(nèi)存時(shí)卻用的是delete。正確的寫法是使用delete[]:

  delete[] s;

  但是,上述錯(cuò)誤的代碼似乎也能編譯執(zhí)行,并不會(huì)帶來什么錯(cuò)誤。事實(shí)上,new與new[]、delete與delete[]是有區(qū)別的,特別是當(dāng)用來操作復(fù)雜類型時(shí)。假如針對(duì)一個(gè)我們自定義的類MyClass使用new[]:

  MyClass* p = new MyClass[10];

  上述代碼的結(jié)果是在堆上分配了10個(gè)連續(xù)的MyClass實(shí)例,并且已經(jīng)對(duì)它們依次調(diào) 用了構(gòu)造函數(shù),于是我們得到了10個(gè)可用的對(duì)象,這一點(diǎn)與Java、C#有區(qū)別的,Java、C#中這樣的結(jié)果只是得到了10個(gè)null。換句話說,使用 這種寫法時(shí)MyClass必須擁有不帶參數(shù)的構(gòu)造函數(shù),否則會(huì)發(fā)現(xiàn)編譯期錯(cuò)誤,因?yàn)榫幾g器無法調(diào)用有參數(shù)的構(gòu)造函數(shù)。

  當(dāng)這樣構(gòu)造成功后,我們可以再將其釋放,釋放時(shí)使用delete[]:

  delete[] p;

  當(dāng)我們對(duì)動(dòng)態(tài)分配的數(shù)組調(diào)用delete[]時(shí),其行為根據(jù)所申請(qǐng)的變量類型會(huì)有所不 同。如果p指向簡單類型,如int、char等,其結(jié)果只不過是這塊內(nèi)存被回收,此時(shí)使用delete[]與delete沒有區(qū)別,但如果p指向的是復(fù)雜 類型,delete[]會(huì)針對(duì)動(dòng)態(tài)分配得到的每個(gè)對(duì)象調(diào)用析構(gòu)函數(shù),然后再釋放內(nèi)存。因此,如果我們對(duì)上述分配得到的p指針直接使用delete來回收, 雖然編譯期不報(bào)什么錯(cuò)誤(因?yàn)榫幾g器根本看不出來這個(gè)指針p是如何分配的),但在運(yùn)行時(shí)(DEBUG情況下)會(huì)給出一個(gè)Debug assertion failed提示。

  到這里,我們很容易提出一個(gè)問題--delete[]是如何知道要為多少個(gè)對(duì)象調(diào)用析構(gòu)函數(shù)的?要回答這個(gè)問題,我們可以首先看一看new[]的重載。

  class MyClass

  {

  int a;

  public:

  MyClass() { printf("ctorn"); }

  ~MyClass() { printf("dtorn"); }

  };

  void* operator new[](size_t size)

  {

  void* p = operator new(size);

  printf("calling new[] with size=%d address=%pn", size, p);

  return p;

  }

  // 主函數(shù)

  MyClass* mc = new MyClass[3];

  printf("address of mc=%pn", mc);

  delete[] mc;

  運(yùn)行此段代碼,得到的結(jié)果為:(VC2005)

  calling new[] with size=16 address=003A5A58

  ctor

  ctor

  ctor

  address of mc=003A5A5C

  dtor

  dtor

  dtor

上一頁  1 2 3 4 5 6 7 8 9 10 下一頁
  相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí):C++學(xué)習(xí)重點(diǎn)分析試題
       2010年全國計(jì)算機(jī)等級(jí)考試全攻略(一至四級(jí))
       2010年計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)教程
文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
主站蜘蛛池模板: 中国一级毛片录像 | 亚洲成a人片77777在线播放 | 国产精品福利午夜h视频 | 久久国产免费观看精品1 | 亚洲欧美日韩综合在线 | 久青草视频免费视频播放线路1 | 5566成人免费视频观看 | 欧美a网| japan孕妇孕交| 五月婷婷激情六月 | 琪琪午夜免费影院在线观看 | 日本中文字幕在线视频站 | 亚洲视频第一页 | 欧美在线观看视频一区 | 中文字幕在亚洲第一在线 | 三级三级三级a级全黄公司的 | 一级免费片 | 2o2o天天看夜夜看狠狠看 | 欧美人成a视频www | 欧美亚洲日本国产 | 天天干天天插天天 | 无遮挡h肉动漫在线播放内衣 | 天天天天做夜夜夜夜 | 欧美一级第一免费高清 | 国产视频97 | 激情五月综合综合久久69 | 高清色黄毛片一级毛片 | 亚洲午夜精品一区二区 | 午夜免费视频福利集合100 | 丝袜调教视频 | 又爽又黄又紧的免费视频 | 天堂资源wwww在线看 | 国产一区亚洲二区三区 | 日日干狠狠干 | 1314亚洲人成网站在线观看 | 天天操女人 | 国产精品麻豆免费版 | 美女免费黄网站 | 丝袜紧身裙国产在线播放 | 可以免费看的黄色网址 | 精品综合一区二区三区 |