比方說,我有很多內存將被分配在程序中的某些點。內存泄漏的重大爭論之一是,如果在流程執行結束時將被操作系統回收,則佔用大量內存是可以的。問題在於,即使泄漏是良性的,它仍然會佔用內存。我希望我的流程每次只能處理大量的內存。這就是我的意思:儘早破壞事物是否過早優化?
{ // begin block
int a[some_large_number];
do_work_with_a();
} // destruct large allocation
{ // different block
int a[some_large_number];
do_work_with_a();
} // destruct large allocation
它真的有很大的區別嗎?
雖然本地數組並沒有分配在堆上,但它們分配在堆棧上。這裏唯一的「分配」是爲這些數組保留一些堆棧空間。 – cdhowie 2014-10-11 17:38:39
我會說,一般來說,一旦你完成了記憶,釋放它。 – Niall 2014-10-11 17:44:31
因此,下一代C++程序員認爲這是可以辯論的天氣或不記憶泄漏是好的?我們都註定要失敗。 – 2014-10-11 18:07:33