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

            單鏈DNA

            換了個(gè)地址:http://www.cnblogs.com/vizhen/

             

            new和delete與malloc和free的異同

            new和delete與malloc和free的異同

            7 11 2010

            相同點(diǎn):它們都可以用來申請(qǐng)動(dòng)態(tài)內(nèi)存和是否內(nèi)存。
            不同點(diǎn):1.malloc和free是C/C++語(yǔ)言的標(biāo)準(zhǔn)庫(kù)函數(shù),new和delete是C++中的運(yùn)算符。
            2.對(duì)于非內(nèi)部對(duì)象類型而言,malloc和free無(wú)法滿足要求,對(duì)象在創(chuàng)建的同時(shí)需要自動(dòng)執(zhí)行構(gòu)造函數(shù),在銷毀之前需要自動(dòng)執(zhí)行析構(gòu)函數(shù)。由于 malloc和free是庫(kù)函數(shù)而不是運(yùn)算符,不在編譯器控制權(quán)限之內(nèi),不能夠把執(zhí)行構(gòu)造函數(shù)和析構(gòu)函數(shù)強(qiáng)加給malloc和free。
            3.函數(shù)malloc原型:
            void* malloc(size_t size);用malloc 申請(qǐng)一塊長(zhǎng)度為length 的整數(shù)類型的內(nèi)存,程序如下:int *p = (int *) malloc(sizeof(int) * length);我們應(yīng)當(dāng)把注意力集中在兩個(gè)要素上:“類型轉(zhuǎn)換”和“sizeof”。
            1. malloc 返回值的類型是void *,所以在調(diào)用malloc 時(shí)要顯式地進(jìn)行類型轉(zhuǎn)換,將void * 轉(zhuǎn)換成所需要的指針類型。
            2.malloc 函數(shù)本身并不識(shí)別要申請(qǐng)的內(nèi)存是什么類型,它只關(guān)心內(nèi)存的總字節(jié)數(shù)。
            函數(shù)free 的原型如下:void free( void * memblock );為什么free 函數(shù)不象malloc 函數(shù)那樣復(fù)雜呢?這是因?yàn)橹羔榩 的類型以及它所指的內(nèi)存的容量事先都是知道的,語(yǔ)句free(p)能正確地釋放內(nèi)存。如果p 是NULL 指針,那么free對(duì)p 無(wú)論操作多少次都不會(huì)出問題。如果p 不是NULL 指針,那么free 對(duì)p連續(xù)操作兩次就會(huì)導(dǎo)致程序運(yùn)行錯(cuò)誤。
            4.new/delete 的使用要點(diǎn)
            運(yùn)算符new 使用起來要比函數(shù)malloc 簡(jiǎn)單得多,例如:
            int *p1 = (int *)malloc(sizeof(int) * length);
            int *p2 = new int[length];

            這是因?yàn)閚ew 內(nèi)置了sizeof、類型轉(zhuǎn)換和類型安全檢查功能。對(duì)于非內(nèi)部數(shù)據(jù)類型的對(duì)象而言,new 在創(chuàng)建動(dòng)態(tài)對(duì)象的同時(shí)完成了初始化工作。如果對(duì)象有多個(gè)構(gòu)造函數(shù),那么new 的語(yǔ)句也可以有多種形式。

            posted on 2010-11-24 00:47 Geek.tan 閱讀(281) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++

            導(dǎo)航

            統(tǒng)計(jì)

            公告

            coding是我的寂寞,我是誰(shuí)的寂寞

            隨筆分類(40)

            隨筆檔案(48)

            搜索

            積分與排名

            最新評(píng)論

            評(píng)論排行榜

            久久丫忘忧草产品| 中文字幕无码久久久| 男女久久久国产一区二区三区| 久久人人爽人人爽人人片av麻烦 | 久久这里只有精品视频99| 精品久久久久久久国产潘金莲| 成人妇女免费播放久久久| 国产91久久综合| 无码国产69精品久久久久网站| 一本久久久久久久| 一本一本久久a久久综合精品蜜桃| 久久精品视频免费| 亚洲国产精品一区二区久久hs| 国产999精品久久久久久| 色婷婷久久综合中文久久蜜桃av| 久久亚洲中文字幕精品一区四| 人妻无码久久一区二区三区免费| 精品久久久久国产免费| 国产精品一区二区久久不卡| 狠狠色综合网站久久久久久久高清| 91久久精品无码一区二区毛片| 国产精品久久午夜夜伦鲁鲁| 女人高潮久久久叫人喷水| 久久播电影网| 国产精品日韩深夜福利久久| 国产精品九九九久久九九| 久久天堂AV综合合色蜜桃网 | 久久久婷婷五月亚洲97号色| 久久笫一福利免费导航 | 乱亲女H秽乱长久久久| 亚洲欧美一级久久精品| 午夜精品久久久久9999高清| 色综合合久久天天综合绕视看 | 国产69精品久久久久99尤物| 久久精品国产精品国产精品污| 亚洲精品美女久久久久99| 久久精品国产精品亚洲精品| 久久精品青青草原伊人| 亚洲精品NV久久久久久久久久 | 亚洲天堂久久精品| 亚洲乱亚洲乱淫久久|