我正在學習C++和下面的代碼,我不知道如果我不刪除* p,會減少多少內存。使用DELETE來節省內存,可以有人證明
#include <iostream>
using namespace std;
int *getPtrToFive()
{
int *x = new int;
*x = 5;
return x;
}
int main()
{
int *p = getPtrToFive();
cout << *p << endl;
delete p; // ?????????????
}
如何驗證或演示它。我正在使用Visual Studio 2008 Express。希望我的IDE能立即展示結果。
乾杯,
迂腐來說,留下的是刪除不會泄漏,因爲程序後立即退出,過程被殺害。你在堆上分配的內存屬於你的進程的工作集,而當進程結束時,內存就會變得臃腫。但是,做這樣的事情通常會被認爲是最糟糕的風格(如果沒有其他原因,那麼因爲析構函數不會運行)。請妥善刪除您分配的內容,無論事實上是否泄漏。 – Damon 2011-03-29 22:25:31