我正在尝试内存分配和删除,并且对如何正确删除/释放内存有疑问。下面是一小段代码:
#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 任务管理器检查我的应用程序正在使用多少内存。以下是我的结果中的数字:
- 初始 744 KB
- 阵列已创建 1120 KB
- 阵列已删除 1124 KB
那么我在我的 C++ 教育中错过了什么吗?调用 delete[] 后是否应该不释放为数组分配的内存?