首先,不要失去信心。有很多辦法可以對付內存問題。我們先列出所有可能存在的實際問題:
內存泄漏
錯誤分配,包括大量增加 free() 釋放的內存和未初始化的引用
懸空指針
數組邊界違規
這是所有類型。即使遷移到 C++ 面向對象的語言,這些類型也不會有明顯變化;無論數據是簡單類型還是 C 語言的 struct 或 C++ 的類,C 和 C++ 中內存管理和引用的模型在原理上都是相同的。以下內容絕大部分是“純 C”語言,對于擴展到 C++ 主要留作練習使用。
內存泄漏
在分配資源時會發生內存泄漏,但是它從不回收。下面是一個可能出錯的模型(請參見清單 1):
清單 1. 簡單的潛在堆內存丟失和緩沖區覆蓋
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/