C++什么是内存泄漏
生活随笔
收集整理的這篇文章主要介紹了
C++什么是内存泄漏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
內存泄漏
- 內存泄漏的分類
- 1. 堆內存泄漏 (Heap leak)。
- 2. 系統資源泄露(Resource Leak)。主要指程序使用系統分配的資源比如
- 3. 沒有將基類的析構函數定義為虛函數。當基類指針指向子類對象時,如果基類的析構函
內存泄漏的分類
1. 堆內存泄漏 (Heap leak)。
對內存指的是程序運行中根據需要分配通過 malloc,realloc
new 等從堆中分配的一塊內存,再是完成后必須通過調用對應的 free 或者 delete 刪掉。如果
程序的設計的錯誤導致這部分內存沒有被釋放,那么此后這塊內存將不會被使用,就會產生 Heap
Leak.
2. 系統資源泄露(Resource Leak)。主要指程序使用系統分配的資源比如
Bitmap,handle ,SOCKET 等沒有使用相應的函數釋放掉,導致系統資源的浪費,嚴重可導致系統
效能降低,系統運行不穩定。
3. 沒有將基類的析構函數定義為虛函數。當基類指針指向子類對象時,如果基類的析構函
數不是 virtual,那么子類的析構函數將不會被調用,子類的資源沒有正確是釋放,因此造成內
存泄露。
總結
以上是生活随笔為你收集整理的C++什么是内存泄漏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长期吃方便面会胖吗?
- 下一篇: C++的内存管理是怎样的