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

            寶杉的博客

            UNIX/LINUX;ACE;SNMP;C++
            posts - 33, comments - 23, trackbacks - 0, articles - 0

            08-06 free和delete

            Posted on 2007-08-13 10:12 寶杉 閱讀(413) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++

            freedelete

            只是把指針?biāo)傅膬?nèi)存給釋放掉,但并沒有把指針本身干掉。

             

            注意:

            1)指針消亡了,并不表示它所指的內(nèi)存會(huì)被自動(dòng)釋放。

            2)內(nèi)存被釋放了,并不表示指針會(huì)消亡或者成了NULL指針。

            比較

            mallocfree:無法滿足動(dòng)態(tài)對(duì)象的要求。對(duì)象在創(chuàng)建同時(shí)進(jìn)行構(gòu)造,消亡同時(shí)析構(gòu)。

            malloc free是庫函數(shù),不是運(yùn)算符,不受編譯器控制。

            newdelete:不是庫函數(shù),能動(dòng)態(tài)內(nèi)存分配和清理內(nèi)存。

             

            內(nèi)存耗盡

            內(nèi)存耗盡時(shí)newmalloc返回NULL。但在WIN32下,使用虛擬內(nèi)存,不會(huì)耗盡的。

            處理內(nèi)存耗盡大概有兩種。

            A  *a = new A;

            1       一處內(nèi)存申請

            if(a == NULL)

            {

                 return;

                 }

            2    如果有多處申請內(nèi)存,則

            if(a == NULL)

            {

                 cout << Memory Exhausted << endl;

                 exit(1);

            }

             

            newdelete使用要點(diǎn)

            1 new內(nèi)置了sizeof、類型轉(zhuǎn)換和類型安全檢查功能。

            2 new在創(chuàng)建非內(nèi)部數(shù)據(jù)類型的動(dòng)態(tài)對(duì)象的同時(shí)完成了初始化工作。

            3 對(duì)象有多個(gè)構(gòu)造函數(shù),那么new的語句也可以有多種形式。

            例如:diary files\obj.txt

            4 如果用new創(chuàng)建對(duì)象數(shù)組,那么只能使用對(duì)象的無參數(shù)構(gòu)造函數(shù)。例如

                 Obj  *objects = new Obj[100];    // 創(chuàng)建100個(gè)動(dòng)態(tài)對(duì)象

            不能寫成

                 Obj  *objects = new Obj[100](1);// 創(chuàng)建100個(gè)動(dòng)態(tài)對(duì)象的同時(shí)賦初值1

            5在用delete釋放對(duì)象數(shù)組時(shí),留意不要丟了符號(hào)‘[]’。例如

                 delete []objects;  // 正確的用法

            delete objects;    // 錯(cuò)誤的用法

            后者相當(dāng)于delete objects[0],漏掉了另外99個(gè)對(duì)象。

            伊人久久无码中文字幕| 久久国产香蕉一区精品| 久久毛片一区二区| 亚洲国产另类久久久精品黑人| .精品久久久麻豆国产精品| 久久青青草原精品国产软件| 国内精品久久久久久野外| 久久综合偷偷噜噜噜色| 1000部精品久久久久久久久| 久久久久国产成人精品亚洲午夜| 久久久午夜精品福利内容| 岛国搬运www久久| 久久精品视频免费| 久久久亚洲裙底偷窥综合| 久久人人爽人人人人片av| 99久久国语露脸精品国产| 性做久久久久久久久久久| 久久这里只有精品视频99| 99久久无码一区人妻a黑| 久久国产亚洲高清观看| 久久久女人与动物群交毛片| 久久人妻少妇嫩草AV蜜桃| 精品久久久久久久| 欧美一区二区三区久久综| 亚洲精品乱码久久久久久久久久久久| 91久久精品视频| 无码8090精品久久一区| 色综合合久久天天综合绕视看| 精品久久久久国产免费| 日本精品久久久久影院日本 | 久久久久久夜精品精品免费啦| 久久久久久噜噜精品免费直播 | 久久精品aⅴ无码中文字字幕重口| 免费精品久久久久久中文字幕 | 色综合久久久久久久久五月 | 日产精品久久久久久久| 2021国内精品久久久久久影院| 色欲综合久久中文字幕网| 少妇高潮惨叫久久久久久| 久久AV高潮AV无码AV| 综合久久国产九一剧情麻豆|