メモリの割り当てと削除を試していますが、メモリを適切に削除/解放する方法について質問がありました。以下は、非常に小さくて機能するコードです。
#include <windows.h>
#include <vector>
#include <iostream>
using namespace std;
int main() {
cout << "Initial" << endl;
system("Pause");
double* Array = new double[50000];
for(int i = 0; i < 50000; i++)
{
Array[i] = rand();
}
cout << "Array created" << endl;
system("Pause");
delete[] Array;
cout << "Array deleted" << endl;
system("Pause");
return 1;
}
システムを一時停止するたびに、Windowsタスクマネージャーを使用して、アプリケーションが使用しているメモリの量を確認しました。以下は私の結果からの数字です:
- 初期744KB
- アレイ作成1120KB
- アレイが削除されました1124KB
それで、C ++教育で何かを逃したことがありますか?delete []が呼び出された後、配列に割り当てられたメモリを解放しないでください。