• <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ì)致、透徹,讓我這個(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)建的對象大小)二、調(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)建一個(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 肥仔 閱讀(593) 評論(0)  編輯 收藏 引用 所屬分類: C++ 基礎(chǔ)

            久久久久亚洲精品无码蜜桃| 久久久久亚洲AV成人片| 久久婷婷五月综合色99啪ak| 久久久久亚洲国产| 色偷偷888欧美精品久久久| 日韩欧美亚洲国产精品字幕久久久| 亚洲中文字幕久久精品无码APP| 久久精品国产亚洲一区二区| 久久精品人妻一区二区三区| 色欲久久久天天天综合网| 99久久精品无码一区二区毛片| 少妇熟女久久综合网色欲| 久久精品www| 久久青青草原亚洲av无码app| 久久人妻少妇嫩草AV蜜桃| 99久久综合狠狠综合久久止| 久久久国产打桩机| 久久久这里有精品中文字幕| 精品一区二区久久| 久久男人Av资源网站无码软件| 亚洲国产成人乱码精品女人久久久不卡| 久久九九亚洲精品| 久久午夜羞羞影院免费观看| 欧美日韩精品久久久免费观看| 欧美成a人片免费看久久| 精品久久久久久无码国产| 青青青国产成人久久111网站| 亚洲AV成人无码久久精品老人| 久久久黄色大片| 无码人妻久久一区二区三区蜜桃| 久久99精品久久久久久噜噜 | 久久妇女高潮几次MBA| 久久精品一区二区三区中文字幕 | 久久精品嫩草影院| 国产Av激情久久无码天堂| 欧洲精品久久久av无码电影| 色88久久久久高潮综合影院| 日韩精品久久久肉伦网站 | 久久99国产精品久久99果冻传媒| 久久午夜羞羞影院免费观看| 韩国免费A级毛片久久|