1. 程式人生 > >c++中的new和delete

c++中的new和delete

程序設計 wan https 解決 運算符 AI 指向 log cnblogs

對於計算機程序設計而言,變量和對象在內存中的分配都是編譯器在編譯程序時安排好的,這帶來了極大的不便,如數組必須大開小用,指針必須指向一個已經存在的變量或對象。對於不能確定需要占用多少內存的情況,動態內存分配解決了這個問題。

一、new/delete 簡介


new 和 delete 是 C++ 用於管理 堆內存 的兩個運算符,對應於 C 語言中的 malloc 和 free,但是 malloc 和 free 是函數,new 和 delete 是運算符。除此之外,

new 在申請內存的同時,還會調用對象的構造函數,而 malloc 只會申請內存;同樣,delete 在釋放內存之前,會調用對象的析構函數,而 free 只會釋放內存。

參考資料:

http://blog.csdn.net/hihozoo/article/details/51441521

http://blog.csdn.net/xxpresent/article/details/53024555

http://blog.csdn.net/dreamiond/article/details/75201473

https://www.cnblogs.com/wanqieddy/p/4372033.html

c++中的new和delete