請詳細講一下,以及使用它們的好處
請問在C++中的new和delete怎么用?還有heap的含義?
慕田峪7331174
2021-12-15 19:11:50
TA貢獻1872條經驗 獲得超4個贊
主要是要動態申請空間時,才會用new
而用了new,為了使用那個空間,就必須用一個指針指向它,如
int * a=new int(10) ;
用完刪掉,如
delete a;
為了讓指針指向他,就必須使用 指針名=new 對象名
new 是在堆中開辟內存空, delete 是釋放內存空間
new 是在堆中開辟內存空間,類似C語言中的malloc函數
delete 是釋放內存空間,類似C語言中的free函數
TA貢獻1828條經驗 獲得超3個贊
當編譯一個C++程序時,計算機的內存被分成了4個區域,一個包括程序的代碼,一個包括所有的全局變量,一個是堆棧,還有一個是堆(heap),我們稱堆是自由的內存區域,我們可以通過new和delete把對象放在這個區域。你可以在任何地方分配和釋放自由存儲區。但是要注意因為分配在堆中的對象沒有作用域的限制,因此一旦new了它,必須delete它,否則程序將崩潰,這便是內存泄漏.
舉報