2015-11-07 101 views
1

我知道,如果您不再需要緩衝區來釋放內存,那麼最好在代碼中刪除緩衝區。如果你沒有和你的程序完成執行會發生什麼?在關機之前,緩衝區是否仍佔用內存空間?或者系統是否通過垃圾回收自動清除它?退出時刪除緩衝區

學習對我自己的C++所以請原諒我noobishness

+0

如果你有一個像Linux或FreeBSD這樣的真正的操作系統,當你的進程退出時它會回收資源。 –

+0

但是,至少在調試模式下,至少在調試模式下回收它們是件好事,因爲讓操作系統清理存在的變量會導致更難以使用內存分析工具(如'valgrind')來查找應該出現的泄漏早先回收。 –

+0

這似乎是不可思議的,之前沒有問過,但我找不到重複。可能沒有用正確的關鍵字進行搜索。無論如何,借調@BenVoigt說。 –

回答

1

每個非玩具操作系統將跟蹤進程分配的所有內存,並回收所有的進程退出的時候。