• <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>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            內(nèi)存管理(operator new與new operator)

             

             

            今天看了大名鼎鼎的Scott Meyers所著的〈effective c++〉和〈more effective c++〉中關(guān)于newdelete的介紹,驚訝不已,大師果然名不虛傳,研究的如此細(xì)致、透徹,讓我這個(gè)菜鳥受益非淺(竊喜,呵呵)。

                   C++new operatoroperator new非一回事也,new operator(即所謂的new expression)乃語言內(nèi)建,咱們是沒法改變其行為的,當(dāng)你寫string *ps = new string("Hands up!")時(shí),你所使用的new是所謂的new operator,它其實(shí)干了兩件事:一、分配足夠的內(nèi)存(實(shí)際大小是大于所創(chuàng)建的對(duì)象大小)二、調(diào)用對(duì)象構(gòu)造函數(shù),new operator永遠(yuǎn)干這兩件事。上面的那段代碼大約反映以下的行為:

                  void *mem = operator new(sizeof(string));

                 call string::string("Hands up!") on *mem;

                 string *ps = static_cast<string*>(mem);

            也就是說operator new僅僅分配內(nèi)存(就像malloc一樣),我們能夠做的僅僅是重載operator new,為自己的類創(chuàng)建一個(gè)定制的內(nèi)存管理方案,這也讓我有點(diǎn)明白為什么在重載operator new的時(shí)候并沒有寫調(diào)用構(gòu)造函數(shù)的代碼,但它確實(shí)被調(diào)用了,原來都是new operator搞的鬼。

             

            posted on 2010-06-29 20:39 肥仔 閱讀(598) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++ 基礎(chǔ)

            亚洲国产高清精品线久久| 97久久精品无码一区二区天美| 精品久久8x国产免费观看| 亚洲人成网站999久久久综合| 国产免费久久精品99久久| 久久婷婷久久一区二区三区| 国产精品美女久久久久| 国产精品99久久久久久人| 久久精品国产99国产精品澳门| 久久发布国产伦子伦精品| 国产99久久精品一区二区| 亚洲一区中文字幕久久| 国产精品欧美久久久久无广告| 久久精品国产福利国产琪琪| 久久婷婷五月综合成人D啪| 久久强奷乱码老熟女网站| 综合久久给合久久狠狠狠97色 | 色成年激情久久综合| 久久99热精品| 污污内射久久一区二区欧美日韩 | 久久综合日本熟妇| 午夜精品久久久久久毛片| 国产精品18久久久久久vr| 久久精品国产精品亜洲毛片| 亚洲AⅤ优女AV综合久久久| 久久久国产精品亚洲一区| 精品乱码久久久久久夜夜嗨 | 久久久久久精品久久久久| 国产成人久久AV免费| 天堂无码久久综合东京热| 91精品国产91久久久久福利| 四虎影视久久久免费观看| 国产精品久久久久久久久免费| 麻豆久久| 91精品国产91热久久久久福利| 亚洲国产综合久久天堂| 国产成人精品白浆久久69| 老男人久久青草av高清| 国产精品成人久久久久三级午夜电影| 最新久久免费视频| 久久国产美女免费观看精品|