Я хочу выделить 1 ГБ памяти. Предполагая, что int занимает 4 байта, чтобы выделить 1 ГБ, мне нужен массив из 250000000 элементов:
int main() {
string s;
cout << "Program paused" << flush;
getline(cin, s);
int * p = new int[250000000]{};
cout << "Program paused" << flush;
getline(cin, s);
delete [] p;
cout << "Program paused" << flush;
getline(cin, s);
}
Windows Диспетчер задач показывает, что моя программа использует 954 МБ. Почему он меньше 1 ГБ?
РЕДАКТИРОВАТЬ: Диспетчер задач также показывает, что ОС зарезервировала 979 100 МБ виртуальной памяти для процесса, который по-прежнему меньше 1 ГБ.