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

liyuxia713

蹣跚前行者

常用鏈接

統(tǒng)計(jì)

Algorithms

C++

最新評論

指針學(xué)習(xí)1--new &delete & destructor

1. 一般指針的new&delete

對于指針a,delete a之后,指針a 的地址仍然是原來的地址(并不是NULL),只不過所指向的對象被釋放了,此時(shí)指針存放的值為隨機(jī)的,由編譯器確定。

 1     int *= new int(2);
 2     cout << "after new :" << endl;
 3     cout << "a = " << a << "," << "*a = " << *<< endl;
 4
 5     delete a;
 6     cout << "after delete: " << endl;
 7     if(a == NULL)
 8     {
 9         cout << "a is null after delete" << endl;
10     }

11     else
12     {
13         cout << " a is not null after delete" << endl;
14     }

15     cout << "a = " << a << "," << "*a = " << *<< endl; 
//好的編程習(xí)慣
delete a;
= NULL;

常規(guī)方法創(chuàng)建的對象,當(dāng)實(shí)際對象(而不是對象的引用)超出作用域時(shí),才會運(yùn)行析構(gòu)函數(shù)
動態(tài)方法創(chuàng)建的對象,當(dāng)刪除指向動態(tài)分配對象的指針時(shí),才會運(yùn)行析構(gòu)函數(shù)。         


2. 一般類對象的聲明與初始化:不用new也可以定義類對象(區(qū)別于java),默認(rèn)調(diào)析構(gòu)函數(shù)
注:為方便簡單演示,并沒有遵循三法則

 1class Stu
 2{
 3   public:
 4         Stu(int m):var(m)
 5          
 6                  var = m;
 7                  cout << "constructor called." << endl;
 8          }
      
 9          ~Stu() { cout << var << " destructor called." << endl;}         
10   private:
11          int var;         
12}
;
13
14void func()
15{
16       //調(diào)用構(gòu)造函數(shù)
17       Stu a(20);
18       //調(diào)用默認(rèn)復(fù)制構(gòu)造函數(shù)
19       Stu b(a);     
20       //等價(jià)于Stu temp(b); Stu b(temp);  
21       //所以有調(diào)用構(gòu)造函數(shù)的過程
22       Stu c = 30;     
23       //都是用隱式方式定義的,所以不用delete,自動調(diào)用析構(gòu)函數(shù)
24 |        //注意析構(gòu)的順序     
25}

26
27int main()
28{
29   func();   
30   return 0;
31}

這里有一個(gè)需要注意的地方,就是如果func里面的代碼是直接寫在main里的則不一定調(diào)用析構(gòu)函數(shù) ,由編譯器決定。
上面是dev c++, 下面是vc6.0的運(yùn)行結(jié)果
 1
 2int main()
 3{
 4
 5    //{
 6       //調(diào)用構(gòu)造函數(shù)
 7       Stu a(20);
 8       //調(diào)用默認(rèn)復(fù)制構(gòu)造函數(shù)
 9       Stu b(a);     
10       //等價(jià)于Stu temp(b); Stu b(temp);  
11       //所以有調(diào)用構(gòu)造函數(shù)的過程
12       Stu c = 30;     
13       //new出來的指針對象,必須顯示delete,如a,b
14       //類對象結(jié)束局部范圍后會自動調(diào)用析構(gòu)函數(shù) 如c    
15    //}
16    return 0;
17}


3. 用new定義類對象,必須delete
動態(tài)分配的對象只有在指向該對象的指針被刪除時(shí)才撤銷。如果沒有刪除指向動態(tài)對象的指針,則不會運(yùn)行該對象的析構(gòu)函數(shù),對象則一直存在,從而導(dǎo)致內(nèi)存泄露。
常規(guī)方法創(chuàng)建的對象,當(dāng)實(shí)際對象(而不是對象的引用)超出作用域時(shí),才會運(yùn)行析構(gòu)函數(shù)
動態(tài)方法創(chuàng)建的對象,當(dāng)刪除指向動態(tài)分配對象的指針時(shí),才會運(yùn)行析構(gòu)函數(shù)。
 1class Stu
 2{
 3   public:
 4         Stu(int m):var(m)
 5          
 6                  var = m;
 7                  cout << "constructor called." << endl;
 8          }
      
 9          ~Stu() { cout << var << " destructor called." << endl;}         
10   private:
11          int var;         
12}
;
13
14void func()
15{
16       //調(diào)用構(gòu)造函數(shù)
17       Stu* a = new Stu(20);
18       //調(diào)用默認(rèn)復(fù)制構(gòu)造函數(shù)
19       Stu* b= new Stu(*a);     
20       //等價(jià)于Stu temp = new Stu(30); Stu b(temp);  
21       //所以有調(diào)用構(gòu)造函數(shù)的過程
22       Stu c = 30;     
23       //new出來的指針對象,必須顯示delete,如a,b
24       //類對象結(jié)束局部范圍后會自動調(diào)用析構(gòu)函數(shù) 如c
25       delete a;
26       delete b;
27}

28
29int main()
30{
31   func();   
32   return 0;
33}

posted on 2010-04-18 10:58 幸運(yùn)草 閱讀(786) 評論(0)  編輯 收藏 引用 所屬分類: C++

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久一二三区| 99国产精品99久久久久久| 久久久亚洲欧洲日产国码αv| 一本久久综合亚洲鲁鲁| 亚洲无吗在线| 午夜亚洲精品| 久久视频精品在线| 久久中文在线| 欧美久久久久中文字幕| 国产精品你懂的| 在线成人小视频| 日韩视频在线免费| 欧美一区二区网站| 欧美肥婆在线| 宅男精品视频| 久久久精品国产99久久精品芒果| 欧美v国产在线一区二区三区| 欧美视频一区二区三区在线观看 | 日韩一级裸体免费视频| 宅男精品视频| 久热精品在线视频| 亚洲乱码一区二区| 久久国产精品亚洲va麻豆| 免费日韩av| 国产欧美一区二区三区另类精品| 在线观看视频日韩| 亚洲欧美久久久久一区二区三区| 奶水喷射视频一区| 亚洲午夜激情| 欧美日韩大片一区二区三区| 在线成人免费观看| 久久九九有精品国产23| 亚洲天堂黄色| 欧美剧在线观看| 亚洲电影欧美电影有声小说| 午夜精品剧场| 日韩视频在线观看免费| 久久综合久久综合久久| 国产一区二区中文字幕免费看| 亚洲手机成人高清视频| 欧美国产视频在线| 久久久久久久久伊人| 国产精品综合不卡av| 日韩天堂av| 欧美电影免费观看| 久久国产黑丝| 国产日韩欧美二区| 亚洲欧美日韩精品久久| 亚洲激情第一区| 欧美伊久线香蕉线新在线| 欧美午夜激情视频| 亚洲视频精品在线| 一区二区三区日韩在线观看| 欧美日本在线视频| 亚洲伦理网站| 亚洲国产精品一区二区www| 久久久在线视频| 亚洲成人资源| 欧美1区免费| 免费亚洲电影| 亚洲国产va精品久久久不卡综合| 久久亚洲图片| 久久久久女教师免费一区| 国产亚洲欧美另类中文| 快射av在线播放一区| 久久久免费精品| 亚洲欧洲精品成人久久奇米网| 欧美激情导航| 欧美成人中文字幕| 999在线观看精品免费不卡网站| 亚洲国产你懂的| 欧美日韩第一区| 亚洲欧美日韩国产中文| 亚洲免费在线视频| 国产婷婷97碰碰久久人人蜜臀| 午夜精品在线观看| 欧美精品在线极品| 欧美视频在线播放| 午夜精品999| 性感少妇一区| 伊人成综合网伊人222| 欧美大片国产精品| 欧美精品一区二区三区四区| 亚洲视频在线观看免费| 亚洲在线不卡| 在线播放国产一区中文字幕剧情欧美| 巨乳诱惑日韩免费av| 欧美成人首页| 欧美亚洲一区二区在线| 久久综合久久综合九色| 亚洲一区成人| 久久夜色精品国产噜噜av| 日韩视频一区二区| 性欧美video另类hd性玩具| 亚洲激情综合| 亚洲永久免费观看| 亚洲精品免费一二三区| 午夜激情一区| 一区二区日韩精品| 久久久久久穴| 亚洲欧美日韩国产| 欧美成人中文| 久久国产99| 国产精品vvv| 欧美大片va欧美在线播放| 国产精品日韩欧美综合 | 91久久在线| 国产日韩精品视频一区| 亚洲美女av黄| 亚洲高清资源| 欧美亚洲综合另类| 中文成人激情娱乐网| 玖玖玖免费嫩草在线影院一区| 午夜日韩视频| 欧美日韩在线视频一区二区| 欧美二区乱c少妇| 国产在线一区二区三区四区 | 欧美午夜免费| 亚洲人体大胆视频| 亚洲国产精品女人久久久| 性欧美精品高清| 午夜精品久久久久久久久久久| 欧美日本成人| 91久久视频| 99视频一区| 欧美承认网站| 亚洲国产精品成人精品| 亚洲第一福利视频| 久久婷婷影院| 欧美福利一区二区三区| 亚洲国产成人精品久久久国产成人一区| 久久爱www.| 免费日韩成人| 亚洲精品在线一区二区| 欧美精品三级| 在线视频免费在线观看一区二区| 亚洲少妇在线| 在线亚洲国产精品网站| 99国产一区| 欧美日本一区二区视频在线观看| 亚洲国产高清视频| 亚洲人体1000| 欧美日韩日本网| 亚洲一区二区精品视频| 欧美一区二区免费| 国产在线不卡精品| 久久免费精品视频| 欧美国产先锋| 在线亚洲精品| 国产日韩成人精品| 麻豆国产精品777777在线| 亚洲茄子视频| 亚洲欧美一区二区精品久久久| 国产乱人伦精品一区二区| 久久精品国产亚洲aⅴ| 男人的天堂亚洲在线| 日韩天天综合| 国产性猛交xxxx免费看久久| 久久字幕精品一区| 99视频精品免费观看| 久久精品国产亚洲一区二区| 亚洲高清免费视频| 欧美系列精品| 久久久久久高潮国产精品视| 亚洲国产另类久久精品| 亚洲欧美春色| 亚洲国产精品一区在线观看不卡 | 欧美精品一区二区三| 亚洲一区日韩在线| 欧美激情按摩| 亚洲综合电影一区二区三区| 极品裸体白嫩激情啪啪国产精品| 久久在线免费观看| 亚洲一区高清| 亚洲激情成人| 噜噜噜噜噜久久久久久91| 亚洲视频碰碰| 亚洲国产成人av好男人在线观看| 欧美无砖砖区免费| 久久综合中文字幕| 亚洲欧美日韩精品一区二区 | 99国产精品久久久| 玖玖视频精品| 欧美一区二区精品| 一本大道久久a久久精品综合| 国产日韩一区欧美| 欧美日韩喷水| 男同欧美伦乱| 久久久久久久激情视频| 亚洲一区二区不卡免费| 亚洲国产高清在线| 巨胸喷奶水www久久久免费动漫| 亚洲一区二区免费看| 99精品国产在热久久| 在线观看亚洲| 国产一区二区精品久久| 国产精品日日摸夜夜添夜夜av | 久久国产一二区| 亚洲一区在线视频| 一本一本久久a久久精品综合麻豆|