西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁(yè)編程開發(fā)VC|VC++ → C++中new 和 delete 的使用

C++中new 和 delete 的使用

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2013/2/16 11:35:39字體大小:A-A+

作者:西西點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: delete

  • 類型:卸載刪除大。662KB語言:英文 評(píng)分:5.0
  • 標(biāo)簽:
立即下載

new和delete可以有效、直接的進(jìn)行動(dòng)態(tài)內(nèi)存的分配和釋放。

運(yùn)算符new返回指定類型的一個(gè)指針,如果分配失敗(如沒有足夠的內(nèi)存空間)時(shí),則返回0.

如:  

1 double *p;
2 p = new double;
3 *p = 3.1;     //將值存放在開辟的單元中

系統(tǒng)自動(dòng)根據(jù)double類型的空間大小開辟內(nèi)存單元,并將地址放在指針p中。

當(dāng)然,也可以在開辟內(nèi)存單元時(shí)對(duì)單元里的值進(jìn)行初始化。

則,上述代碼等價(jià)于:

1 double *p;
2 p = new double(3.1);

運(yùn)算符delete是釋放new請(qǐng)求的內(nèi)存單元。

delete p將指針變量p指向的內(nèi)存單元釋放,指針變量p仍然有效,它可以重新指向另一個(gè)內(nèi)存單元。

new也可以為數(shù)組分配內(nèi)存單元,當(dāng)釋放時(shí),也可以告訴delete數(shù)組有多少個(gè)。

如:

1 int *p;
2 p = new int[10];
3 delete [10]p; //告訴delete數(shù)組有多少個(gè)元素,或delete []p;

例子:

 1 #include <iostream>
 2 #include <cstring>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     char *p = new char[6];
 9 
10     strcpy(p,"Hello");
11     cout << p << endl;
12     delete[] p;
13     cout << p << endl;
14 
15     return 0;
16 }

運(yùn)行結(jié)果:

1Hello

運(yùn)行環(huán)境:

  ubuntu 12.10

  gcc版本 4.7.2

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)

      沒有數(shù)據(jù)
    最新文章
      沒有數(shù)據(jù)