面試問題之C++語言:如何避免內存泄漏?


轉載於:https://www.php.cn/csharp-article-416104.html

1、不要手動管理內存,可以嘗試在適用的情況下使用智能指針。

2、使用string而不是char*。string類在內部處理所有內存管理,而且它速度快且優化得很好。

3、除非要用舊的lib接口,否則不要使用原始指針。

4、在C++中避免內存泄漏的最好方法是盡可能少地在程序級別上進行new和delete調用--最好是沒有。任何需要動態內存的東西都應該隱藏在一個RAII對象中,當它超出范圍時釋放內存。RAII在構造函數中分配內存並在析構函數中釋放內存,這樣當變量離開當前范圍時,內存就可以被釋放。

(注:RAII資源獲取即初始化,也就是說在構造函數中申請分配資源,在析構函數中釋放資源)

5、使用了內存分配的函數,要記得使用其想用的函數釋放掉內存。可以始終在new和delete之間編寫代碼,通過new關鍵字分配內存,通過delete關鍵字取消分配內存。

6、培養良好的編碼習慣,在涉及內存的程序段中,檢測內存是否發生泄漏。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM