Trending News
new 跟delete的用法 有例子可以講解嗎?
new 跟delete的用法 怎麼用呢?
請講一些例子並說明一下
越簡單越好
我才剛學 不太懂
請問能給一個範例嗎 謝謝
4 Answers
- 8 years agoFavorite 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): 經驗 - Anonymous7 years ago
分享部份結婚會員信件,因不能打網址,低調給你,請打搜尋:
我已結婚,這是我給李姐感謝信,她算婚友業清流,資料詳實公開在網站上
夏天... 2006/9/8
李姐~
因為你現在的我很滿足!
望著身邊的他...
他的付出他的包容...一再的讓我感動!
或許他沒有很多的錢!或許他不是那麼的帥!
但是他對我的好比什麼都重要!
謝謝你!因為你現在的我們都很幸福...
也希望在這的各位也能和我們一樣!
曾經我們彼此都尋尋覓覓了很久...
但是在這我找到屬於我的他!
在這幸福的同時我想最要感謝的是你!李姐!
你教會了我很多...
再多感謝的話語都不足我對你的感激...
再次的對你說謝謝!
有你真好!
- 其威Lv 78 years ago
需要記憶體的時候用 new 跟作業系統借一塊,用完了就 delete 還給他。
其實也就這樣而已...
要注意的是,借了一定要還,如果遺失的話就永遠遺失了,在程式結束時作業系統才會一次收回去。
如果你的程式是要執行很久的那種(例如伺服器),就會造成記憶體越用越少,最後作業系統配置不出更多記憶體時可能就會當機了。