論記憶體洩露和記憶體溢位的區別

2021-10-04 02:48:56 字數 370 閱讀 5942

記憶體洩露和記憶體溢位的區別

記憶體洩露

記憶體洩漏就是對某一記憶體空間的使用,使用完成後沒有釋放或者沒有釋放完全。比如:我們定義的指標,未進行釋放,或者釋放的時候沒有使用delete,我建議在釋放的時候習慣使用delete,這樣能後避免由於疏忽而導致的記憶體洩漏。其實c++中我們可以通過智慧型指標的方式一定程度解決記憶體洩漏的的問題,關於智慧型指標以後有空來講解。

記憶體溢位

記憶體溢位通俗來講就是執行需要的記憶體,超出了它可用的最大記憶體。比如,我們需要開闢8個位元組的記憶體,但是系統只剩4個位元組了,記憶體不夠用,這樣就導致了記憶體溢位。像陣列越界情況,也是記憶體溢位的例子。

這樣大致的描述了一下記憶體洩露和記憶體溢位,希望對各位有所幫助,謝謝閱讀。

記憶體溢位和記憶體洩露的區別

記憶體溢位 out of memory,是指程式在申請記憶體時,沒有足夠的記憶體空間供其使用,出現out of memory 比如申請了乙個integer,但給它存了long才能存下的數,那就是記憶體溢位。記憶體洩露 memory leak,是指程式在申請記憶體後,無法釋放已申請的記憶體空間,一次記...

記憶體洩露和記憶體溢位的區別

記憶體溢位 out of memory,是指程式在申請記憶體時,沒有足夠的記憶體空間供其使用,出現out of memory 系統只有存放integer的空間,但你卻申請了存放long,那就是記憶體溢位。記憶體洩露 memory leak,是指程式在申請記憶體後,無法釋放已申請的記憶體空間,一次記憶...

記憶體溢位和記憶體洩露的區別

記憶體溢位 out of memory 通俗理解就是記憶體不夠,通常在執行大型軟體或遊戲時,軟體或遊戲所需要的記憶體遠遠超出了你主機內安裝的記憶體所承受大小,就叫記憶體溢位。此時軟體或遊戲就執行不了,系統會提示記憶體溢位,有時候會自動關閉軟體,重啟電腦或者軟體後釋放掉一部分記憶體又可以正常執行該軟體...