C++ new、delete、malloc、free关键字的关系
生活随笔
收集整理的這篇文章主要介紹了
C++ new、delete、malloc、free关键字的关系
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
delete會調用對象的析構函數,和new對應。free只會釋放內存,new調用構造函數。malloc與free是C++/C語言的標準庫函數,new/delete是C++的運算符。它們都可用于申請動態內存和釋放內存。
對于非內部數據類型的對象而言,光用maloc/free無法滿足動態對象的要求。對象在創建的同時要自動執行構造函數,對象在消亡之前要自動執行析構函數。由于malloc/free是庫函數而不是運算符,不在編譯器控制權限之內,不能夠把執行構造函數和析構函數的任務強加于malloc/free。因此C++語言需要一個能完成動態內存分配和初始化工作的運算符new,以及一個能完成清理與釋放內存工作的運算符delete。注意new/delete不是庫函數。
該博文為原創文章,未經博主同意不得轉載,如同意轉載請注明博文出處
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/112599999
總結
以上是生活随笔為你收集整理的C++ new、delete、malloc、free关键字的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 夫妻双方有一方征信不好能贷款吗
- 下一篇: 建设银行atm机跨行转账多久到账