天天看點

《從缺陷中學習C/C++》——6.11 函數中途退出忘記釋放記憶體

本節書摘來自異步社群出版社《從缺陷中學習c/c++》一書中的第6章,第6.11節,作者: 劉新浙 , 劉玲 , 王超 , 李敬娜 , ,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

從缺陷中學習c/c++

代碼示例

現象&結果

若inlen<20,則函數中途退出,而未釋放記憶體,導緻記憶體洩露。

bug分析

上述代碼中,func函數内new了一塊記憶體,在if條件分支中,沒有釋放記憶體,就直接return 0,緻使函數在條件分支中退出,導緻了記憶體洩露。

正确代碼

在程式退出前添加釋放記憶體語句 delete [] p。

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。

分享

繼續閱讀