1. 程式人生 > >野指針

野指針

sta ptr 銷毀 報錯 malloc 出錯 動態 野指針 對象

參考:http://chenqx.github.io/2014/09/25/Cpp-Memory-Management/ 內存管理詳解

野指針:

一、申請了指針沒有初始化,全局指針未初始化編譯時無錯誤,運行會出錯,局部指針編譯時會報錯——unintialized;

二、malloc申請的內存用free(ptr)釋放後,ptr指向的是垃圾內存,或者new出來的對象delete之後,指針所指的對象釋放掉了,指針還存在,但指向的是垃圾內存,對待這種錯誤,可以在釋放掉後把指針置為NULL;

三、函數返回了指向局部對象的指針(該對象不是static),函數調用結束該指針指向的對象被銷毀了。

PS:在函數申請了動態內存(new或malloc),返回指針,該指針指向的內存是一直存在的。

野指針