本節書摘來自異步社群出版社《從缺陷中學習c/c++》一書中的第6章,第6.11節,作者: 劉新浙 , 劉玲 , 王超 , 李敬娜 , ,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
從缺陷中學習c/c++
代碼示例
現象&結果
若inlen<20,則函數中途退出,而未釋放記憶體,導緻記憶體洩露。
bug分析
上述代碼中,func函數内new了一塊記憶體,在if條件分支中,沒有釋放記憶體,就直接return 0,緻使函數在條件分支中退出,導緻了記憶體洩露。
正确代碼
在程式退出前添加釋放記憶體語句 delete [] p。
本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。
分享