• <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>
            隨筆-34  評(píng)論-108  文章-0  trackbacks-0
                new有三種使用方式:plain new,nothrow new和placement new。
            (1)plain new顧名思義就是普通的new,就是我們慣常使用的new。在C++中是這樣定義的:
                void* operator new(std::size_t) throw(std::bad_alloc);
                void operator delete(void *) throw();
            提示:plain new在分配失敗的情況下,拋出異常std::bad_alloc而不是返回NULL,因此通過判斷返回值是否為NULL是徒勞的。
            (2)nothrow new是不拋出異常的運(yùn)算符new的形式。nothrow new在失敗時(shí),返回NULL。定義如下:
                void * operator new(std::size_t,const std::nothrow_t&) throw();
                void operator delete(void*) throw();
            (3)placement new意即“放置”,這種new允許在一塊已經(jīng)分配成功的內(nèi)存上重新構(gòu)造對(duì)象或?qū)ο髷?shù)組。placement new不用擔(dān)心內(nèi)存分配失敗,因?yàn)樗静环峙鋬?nèi)存,它做的唯一一件事情就是調(diào)用對(duì)象的構(gòu)造函數(shù)。定義如下:
                void* operator new(size_t,void*);
                void operator delete(void*,void*);
            提示1:palcement new的主要用途就是反復(fù)使用一塊較大的動(dòng)態(tài)分配的內(nèi)存來構(gòu)造不同類型的對(duì)象或者他們的數(shù)組。
            提示2:placement new構(gòu)造起來的對(duì)象或其數(shù)組,要顯示的調(diào)用他們的析構(gòu)函數(shù)來銷毀,千萬不要使用delete。
            char* p = new(nothrow) char[100];
            long *q1 = new(p) long(100);
            int *q2 = new(p) int[100/sizeof(int)];
            posted on 2007-04-03 17:31 探丫頭 閱讀(4049) 評(píng)論(3)  編輯 收藏 引用 所屬分類: 編程語言——C++

            評(píng)論:
            # re: new的三中使用方法 2007-04-04 06:56 | lele
            char* p = new(nothrow) char[100];
            long *q1 = new(p) long(100);
            int *q2 = new(p) int[100/sizeof(int)];

            這三句的意思是先用nothrow new申請(qǐng)char[100]空間,再在這片空間上申請(qǐng)一個(gè)long類型的空間存放100,然后是int型的數(shù)組?  回復(fù)  更多評(píng)論
              
            # re: new的三中使用方法 2007-04-04 08:16 | 平凡小草
            @lele
            第二句是在p這個(gè)地址開始的空間,放置一個(gè)值為一個(gè)long類型的對(duì)象
            第三句是在p這個(gè)地址開始的空間,放置一個(gè)具有100/sizeof(int)個(gè)的int數(shù)組  回復(fù)  更多評(píng)論
              
            # re: new的三中使用方法 2008-03-03 12:34 | 打分得分
            講的太簡(jiǎn)短了。。不是很全吧!  回復(fù)  更多評(píng)論
              
            久久久亚洲欧洲日产国码二区 | 国产精品久久新婚兰兰| 亚洲精品国产第一综合99久久| 日批日出水久久亚洲精品tv| 亚洲AV日韩AV天堂久久| 久久香蕉国产线看观看99| 女人高潮久久久叫人喷水| 国产成人精品久久一区二区三区| 久久久亚洲精品蜜桃臀| 久久久精品国产sm调教网站 | 久久狠狠高潮亚洲精品| 亚洲狠狠久久综合一区77777| 欧美亚洲国产精品久久| 91精品无码久久久久久五月天 | 国产A三级久久精品| 精品久久综合1区2区3区激情| 精品综合久久久久久97| 亚洲а∨天堂久久精品| 成人国内精品久久久久影院VR| 亚洲精品无码久久久影院相关影片| 2021国产成人精品久久| 69久久精品无码一区二区| 亚洲中文字幕无码久久综合网 | 亚洲综合精品香蕉久久网| 热综合一本伊人久久精品| 成人亚洲欧美久久久久| 99久久精品国产麻豆| 99国产欧美久久久精品蜜芽| 中文字幕日本人妻久久久免费| 久久这里的只有是精品23| 欧美性大战久久久久久| 欧美激情精品久久久久久| 久久精品免费网站网| 狠狠色综合久久久久尤物| 国产一区二区精品久久岳| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 精品久久久久久无码人妻热| 国产福利电影一区二区三区,免费久久久久久久精 | 性欧美丰满熟妇XXXX性久久久| 天天影视色香欲综合久久| 亚洲精品无码久久不卡|