• <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)貼],因其丑陋,見(jià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)乃語(yǔ)言內(nèi)建,咱們是沒(mé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);

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

             

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

            亚洲国产成人久久综合一区77| 一本大道加勒比久久综合| 国产精品成人无码久久久久久 | 国产精品欧美亚洲韩国日本久久| 久久精品国产91久久综合麻豆自制| 国产亚洲精午夜久久久久久| 天天爽天天狠久久久综合麻豆| 久久午夜无码鲁丝片午夜精品| 久久成人精品视频| 欧美一级久久久久久久大| 99久久国产综合精品成人影院| 婷婷久久精品国产| 久久精品成人免费看| 欧美成人免费观看久久| 久久精品国产亚洲5555| 久久综合丝袜日本网| av无码久久久久不卡免费网站| 久久精品一本到99热免费| 少妇久久久久久久久久| 久久嫩草影院免费看夜色| 国产精品久久国产精品99盘 | 久久99国产精品一区二区| 久久九九久精品国产| 东京热TOKYO综合久久精品| 久久久久久精品成人免费图片| 最新久久免费视频| 久久亚洲精品视频| 久久精品国产精品亚洲精品| 久久久久高潮综合影院| 久久99国产精品久久99小说| 中文字幕无码精品亚洲资源网久久| 国产成人精品久久| 亚洲国产成人久久综合碰| 欧美激情精品久久久久久久| 欧美久久一区二区三区| 久久本道久久综合伊人| 久久国产福利免费| 人妻中文久久久久| 久久精品无码一区二区WWW| 久久99热这里只频精品6| 99精品久久精品一区二区|