• <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, 評論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

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

             

             

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

                   C++new operatoroperator new非一回事也,new operator(即所謂的new expression)乃語言內(nèi)建,咱們是沒法改變其行為的,當(dāng)你寫string *ps = new string("Hands up!")時,你所使用的new是所謂的new operator,它其實干了兩件事:一、分配足夠的內(nèi)存(實際大小是大于所創(chuàng)建的對象大?。┒⒄{(diào)用對象構(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)建一個定制的內(nèi)存管理方案,這也讓我有點明白為什么在重載operator new的時候并沒有寫調(diào)用構(gòu)造函數(shù)的代碼,但它確實被調(diào)用了,原來都是new operator搞的鬼。

             

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

            色综合久久中文字幕综合网| 国产一区二区三区久久| 色欲综合久久躁天天躁| 久久国产色av免费看| 91精品国产高清久久久久久io| 亚洲午夜久久久精品影院| 无码八A片人妻少妇久久| 久久精品国产69国产精品亚洲| 亚洲精品高清久久| 国产激情久久久久久熟女老人| 精品综合久久久久久97超人| 久久频这里精品99香蕉久| 久久精品人人做人人爽电影| 久久久久久亚洲精品影院| 一本久久久久久久| 精品少妇人妻av无码久久| 久久久亚洲AV波多野结衣| 国产精品伦理久久久久久| 久久无码AV一区二区三区| 72种姿势欧美久久久久大黄蕉| 伊人精品久久久久7777| 久久国产精品偷99| 欧美精品一区二区精品久久| 精品人妻久久久久久888| 色偷偷88888欧美精品久久久| 久久久久久国产精品无码下载| 久久久无码人妻精品无码| 2020久久精品亚洲热综合一本| 久久婷婷人人澡人人| 国产精品无码久久综合网| 精品久久久久久久久久久久久久久 | 丁香色欲久久久久久综合网| 久久久国产一区二区三区| 精品国产综合区久久久久久| 97久久久精品综合88久久| 伊人久久大香线蕉综合影院首页| 97精品伊人久久大香线蕉| 久久这里有精品| 久久久无码人妻精品无码| 精品久久久久久无码专区| 久久人人爽人人爽人人片AV不|