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

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

C++中new 和 delete 的使用

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

作者:西西點擊:0次評論:0次標簽: delete

  • 類型:卸載刪除大。662KB語言:英文 評分:5.0
  • 標簽:
立即下載

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

運算符new返回指定類型的一個指針,如果分配失。ㄈ鐩]有足夠的內(nèi)存空間)時,則返回0.

如:  

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

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

當然,也可以在開辟內(nèi)存單元時對單元里的值進行初始化。

則,上述代碼等價于:

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

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

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

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

如:

1 int *p;
2 p = new int[10];
3 delete [10]p; //告訴delete數(shù)組有多少個元素,或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 }

運行結果:

1Hello

運行環(huán)境:

  ubuntu 12.10

  gcc版本 4.7.2

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

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

    熱門評論

    最新評論

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

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

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

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