new 跟delete的用法 有例子可以講解嗎?

new 跟delete的用法 怎麼用呢?

請講一些例子並說明一下

越簡單越好

我才剛學 不太懂

Update:

請問能給一個範例嗎 謝謝

4 Answers

Rating
  • 8 years ago
    Favorite Answer

    一般我們所使用的變數先在程式寫好,所以當程式開始執行時,這些變數就會自動被配置記憶體空間。

    但有時變數不知到何時才需要它,而你希望需要它時才配置記憶體空間,並在變數不使用的時候,將變數所佔有的空間還給記憶體,這時候我們就可以使用new運算子與delete運算子。

    例子,我們可以在程式中以動態的方式來配置一個int型態大小的記憶體:

    int *dyn = new int;

    ......

    ....

    delete dyn;

    以上程式中,new運算子會配置一個int所需要的空間,並傳回該空間的位址,記得要用指標dyn來儲存這個位址;使用delet來釋放被佔用的記憶體。需要注意的是,使用new運算子動態配置的空間,在整個程式結束前並不會自動歸還給記憶體,所以要注意使用與釋放的配對。

    如果要動態宣告陣列

    double *arr=new double[50];

    .......

    .....

    delet []arr;

    以上程式中,動態配置了50個double大小的空間,並傳回空間的第一個位址。

    希望有幫助到你

    2013-08-20 22:04:38 補充:

    #include

    using namespace std;

    int main() {

    int *dyn = new int(10);

    cout << "空間地址是:" << dyn << endl;

    cout << "空間儲存的值是:" << *dyn << endl;

    *dyn = 20;

    cout << "空間地址是:" << dyn << endl;

    cout << "空間儲存的值是:" << *dyn << endl;

    delete dyn;

    system("pause");

    2013-08-20 22:05:06 補充:

    return 0;

    }

    我用的是dev-c++環境

    Source(s): 經驗
  • Anonymous
    7 years ago

    分享部份結婚會員信件,因不能打網址,低調給你,請打搜尋:

    我已結婚,這是我給李姐感謝信,她算婚友業清流,資料詳實公開在網站上

    夏天... 2006/9/8

    李姐~

    因為你現在的我很滿足!

    望著身邊的他...

    他的付出他的包容...一再的讓我感動!

    或許他沒有很多的錢!或許他不是那麼的帥!

    但是他對我的好比什麼都重要!

    謝謝你!因為你現在的我們都很幸福...

    也希望在這的各位也能和我們一樣!

    曾經我們彼此都尋尋覓覓了很久...

    但是在這我找到屬於我的他!

    在這幸福的同時我想最要感謝的是你!李姐!

    你教會了我很多...

    再多感謝的話語都不足我對你的感激...

    再次的對你說謝謝!

    有你真好!

  • 阿平
    Lv 4
    8 years ago
  • 其威
    Lv 7
    8 years ago

    需要記憶體的時候用 new 跟作業系統借一塊,用完了就 delete 還給他。

    其實也就這樣而已...

    要注意的是,借了一定要還,如果遺失的話就永遠遺失了,在程式結束時作業系統才會一次收回去。

    如果你的程式是要執行很久的那種(例如伺服器),就會造成記憶體越用越少,最後作業系統配置不出更多記憶體時可能就會當機了。

Still have questions? Get your answers by asking now.