本節書摘來自異步社群出版社《從缺陷中學習c/c++》一書中的第6章,第6.12節,作者: 劉新浙 , 劉玲 , 王超 , 李敬娜 , ,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
從缺陷中學習c/c++
代碼示例
現象&結果
二維數組的釋放,沒有将每個元素逐一釋放,造成記憶體洩露。使用valgrind檢測工具檢測,可以得到類似的資訊,leak summary: definitely lost: 24 bytes in 2 blocks。
bug分析
洩露點在delete [] pva,pval是2*3的二維數組指針, delete[] pval隻釋放了pval所指向的行空間,沒有釋放每個pval[i]所指向的列空間。
正确代碼
本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。