青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

有了malloc/free為什么還要new/delete ?
       malloc與free是C++/C語言的標準庫函數,new/delete是C++的運算符。它們都可用于申請動態內存和釋放內存。

對于非內部數據類型的對象而言,光用maloc/free無法滿足動態對象的要求。對象在創建的同時要自動執行構造函數,對象在消亡之前要自動執行析構函數。由于malloc/free是庫函數而不是運算符,不在編譯器控制權限之內,不能夠把執行構造函數和析構函數的任務強加于malloc/free。

       因此C++語言需要一個能完成動態內存分配和初始化工作的運算符new,以及一個能完成清理與釋放內存工作的運算符delete。注意new/delete不是庫函數。

我們不要企圖用malloc/free來完成動態對象的內存管理,應該用new/delete。由于內部數據類型的“對象”沒有構造與析構的過程,對它們而言malloc/free和new/delete是等價的。

    既然new/delete的功能完全覆蓋了malloc/free,為什么C++不把malloc/free淘汰出局呢?這是因為C++程序經常要調用C函數,而C程序只能用malloc/free管理動態內存。

   如果用free釋放“new創建的動態對象”,那么該對象因無法執行析構函數而可能導致程序出錯。如果用delete釋放“malloc申請的動態內存”,理論上講程序不會出錯,但是該程序的可讀性很差。所以new/delete必須配對使用,malloc/free也一樣。

    free和delete以后要把指針置為NULL!別看free和delete的名字惡狠狠的(尤其是delete),它們只是把指針所指的內存給釋放掉,但并沒有把指針本身干掉。通常會用語句if (p != NULL)進行防錯處理。很遺憾,此時if語句起不到防錯作用,因為即便p不是NULL指針,它也不指向合法的內存塊。

posted on 2006-11-03 12:56 哈哈 閱讀(1778) 評論(3)  編輯 收藏 引用

評論:
# re: 新手完全釋疑malloc/free VS new/delete 2006-11-09 21:44 | 邵騰飛
“別看free和delete的名字惡狠狠的(尤其是delete),它們只是把指針所指的內存給釋放掉,但并沒有把指針本身干掉。……”

指針仍在棧中,只不過指向的內存單元被釋放掉。
如:
int *p ;
/*p在棧中;*/

p = new int ( 100 ) ;
/*在堆中申請一塊長度為4字節(int),并賦值為100; p 指向這個單元。假設單元地址為 address0 , 則 p = address0;*/

delete p ;
/*釋放掉 p 指向的單元,但 p 仍存在,p 在棧中,并且 p 仍等于 address0;
直到 p 的生命期結束,內存管理自動釋放 p,指針p 就被干掉了!!*/

需要說明的是,我們往往在程序,或者函數結尾時,進行 delete ;這時指針的生命周期往往也隨之結束,所以這個細節很少被人注意,我們沒有碰到這類的麻煩。對于寫程序不注意結構化,不注意分模塊,就會有隱患,嘿嘿。

感謝作者的總結,我只是寫了我臨時產生的體會。
  回復  更多評論
  
# re: 新手完全釋疑malloc/free VS new/delete 2006-11-09 22:56 | pengkuny
@邵騰飛
謝謝你的詳細舉例  回復  更多評論
  
# re: 新手完全釋疑malloc/free VS new/delete 2007-07-17 04:02 | touzani
學習  回復  更多評論
  

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧洲一区二区三区久久| 欧美韩日视频| 欧美成人免费在线观看| 亚洲综合国产精品| 亚洲欧美激情四射在线日| 亚洲小说区图片区| 亚洲综合精品四区| 免费日韩一区二区| 欧美jizz19性欧美| 欧美国产极速在线| 欧美日韩网址| 国产精品一区二区在线观看不卡 | 久久综合伊人77777麻豆| 免费观看成人| 欧美午夜精彩| 国产综合网站| 最新国产の精品合集bt伙计| 夜色激情一区二区| 欧美影片第一页| 欧美大秀在线观看| 99精品国产高清一区二区| 亚洲宅男天堂在线观看无病毒| 久久精品中文字幕一区| 欧美日韩亚洲一区| 国内精品亚洲| 亚洲小少妇裸体bbw| 久久久亚洲国产天美传媒修理工 | 国产美女精品视频| 亚洲经典在线| 久久久久国产免费免费| 亚洲伦理在线观看| 欧美一级二级三级蜜桃| 欧美日韩国语| 最近看过的日韩成人| 久久国产综合精品| 亚洲无吗在线| 欧美日韩一区二区视频在线| 永久91嫩草亚洲精品人人| 欧美一区二区在线| 中日韩男男gay无套| 卡通动漫国产精品| 国产精品麻豆va在线播放 | 激情亚洲网站| 日韩视频免费观看高清在线视频| 亚洲一区综合| 欧美阿v一级看视频| 性色av一区二区三区在线观看 | 日韩视频免费| 欧美肥婆在线| 国产一区二区三区久久精品| 在线播放中文一区| 欧美专区在线| 亚洲欧美国产毛片在线| 国产精品免费一区二区三区在线观看| 日韩午夜在线电影| 国模精品一区二区三区色天香| 一区二区欧美国产| 亚洲级视频在线观看免费1级| 亚洲少妇诱惑| 欧美视频日韩视频| 亚洲视频一区在线| 在线亚洲激情| 国产精品久久99| 性色av一区二区三区在线观看| 日韩网站在线观看| 国产精品国产三级国产专区53| 亚洲视频精选| 亚洲无人区一区| 国产亚洲精品久久久久动| 欧美一区二区成人6969| 欧美亚洲午夜视频在线观看| 国产一在线精品一区在线观看| 欧美自拍偷拍午夜视频| 欧美亚洲视频在线看网址| 国内精品伊人久久久久av一坑| 女女同性精品视频| 欧美人与禽猛交乱配视频| 亚洲综合社区| 久久久午夜电影| 夜夜嗨av一区二区三区| 亚洲综合日韩| 在线免费观看日本一区| 亚洲大胆av| 欧美视频一区在线| 久久久不卡网国产精品一区| 久久久久久婷| 999亚洲国产精| 亚洲欧美一区二区激情| 亚洲电影免费| 亚洲视频在线观看| 在线精品视频一区二区| 亚洲精品美女| 国产色产综合色产在线视频| 亚洲国产精品热久久| 国产精品视频你懂的| 欧美成人按摩| 国产精品剧情在线亚洲| 老色批av在线精品| 欧美视频精品在线观看| 欧美91精品| 国产精品久久午夜| 欧美高清免费| 国产又爽又黄的激情精品视频 | 欧美无砖砖区免费| 久久青草福利网站| 欧美三级中文字幕在线观看| 欧美v日韩v国产v| 国产一区二区三区四区五区美女| 亚洲三级影院| 91久久精品网| 久久久久久电影| 新67194成人永久网站| 免费观看国产成人| 久久婷婷国产综合尤物精品 | 亚洲欧洲另类国产综合| 99综合视频| 亚洲黄色av| 久久国产精品99国产精| 亚洲午夜在线视频| 免费中文字幕日韩欧美| 久久久久久久久蜜桃| 国产精品久久久久久福利一牛影视| 亚洲电影有码| 亚洲国产成人在线播放| 久久久福利视频| 久久综合九色综合欧美就去吻| 国产欧美日本| 亚洲欧美日韩精品一区二区| 亚洲午夜久久久久久久久电影网| 欧美成人一区在线| 亚洲高清一区二| 亚洲国产精品第一区二区三区| 欧美影院成人| 久久精品首页| 国内精品久久久久久久影视麻豆| 亚洲综合色自拍一区| 性xx色xx综合久久久xx| 国产精品久久久久久久久久ktv| 亚洲美女在线观看| 亚洲视频一区在线| 国产精品成人观看视频免费 | 在线亚洲电影| 欧美一区二区精品| 国产欧美一区二区精品秋霞影院| 亚洲午夜精品国产| 欧美在线观看网站| 国产欧美婷婷中文| 欧美中文在线观看| 蜜桃精品一区二区三区| 亚洲第一网站| 欧美精品少妇一区二区三区| 亚洲高清成人| 亚洲视频一区在线观看| 国产欧美日韩一区二区三区在线观看 | 韩国精品主播一区二区在线观看| 欧美一区午夜精品| 欧美激情视频一区二区三区在线播放 | 久色成人在线| 亚洲激情专区| 午夜精品免费在线| 黄色精品免费| 欧美激情综合亚洲一二区| 99精品欧美一区二区蜜桃免费| 欧美一区二区三区免费看 | 国产精品高精视频免费| 亚洲欧美激情四射在线日 | 亚洲在线观看视频网站| 欧美天天视频| 欧美综合二区| 亚洲全黄一级网站| 欧美在线首页| 亚洲日韩欧美视频一区| 国产精品久久福利| 久久夜色精品国产欧美乱| 日韩一级裸体免费视频| 久久久久一本一区二区青青蜜月| 亚洲人成网站色ww在线| 国产精品自拍网站| 麻豆国产va免费精品高清在线| 一本色道久久综合| 男女激情久久| 亚洲欧美激情视频| 亚洲国产成人不卡| 国产日韩欧美亚洲| 欧美欧美天天天天操| 久久精品国产第一区二区三区最新章节 | 亚洲天堂网在线观看| 欧美成人免费观看| 欧美亚洲在线播放| 99精品视频免费在线观看| 好看的av在线不卡观看| 国产精品国产精品| 欧美极品一区| 另类专区欧美制服同性| 亚洲宅男天堂在线观看无病毒| 亚洲国产日韩欧美| 美女在线一区二区| 久久亚洲春色中文字幕| 久久国产精品一区二区| 亚洲欧美在线一区|