天天看點

記憶體洩漏

1、程式結束後,程式(實際上是指程序)占用的記憶體全部釋放,不管是棧上的記憶體還是堆上的記憶體,包括洩漏的記憶體,全部釋放。因為程序都不在了,OS會把程序的所有資源回收。

2、是以,所謂的記憶體洩漏隻是存在于程式運作過程中。

3、記憶體洩漏:在程式運作過程中,對于一塊确定不再使用的記憶體,沒有人工delete,才會造成記憶體洩漏。

4、假設一塊記憶體,在程式的整個運作過程中都要使用,這種情況下這塊記憶體是不能釋放的,否則會引起未定義行為。必須等到程式結束後,OS來回收記憶體。

5、假設指針指向一塊申請的記憶體A,然後再指向一塊申請的記憶體B,對于記憶體A,以後永遠不會在使用,沒有對記憶體A進行delete,造成記憶體洩漏。OS不會釋放記憶體A,因為他不知道你還用不用記憶體A。隻有在程式結束的情況下,才會釋放進城上的所有記憶體,包括記憶體A。

繼續閱讀