Я попробовал следующий код C ++ в Visual Studio 2017 (версия для сообщества):
vector <int> V;
V.resize(600000000);
for (int i = 0;i < 600000000;i++)
{
if (i % 10000000 == 0)cout << i << endl;
}
но получил:
исключение: std :: bad_alloc в ячейке памяти
Я изменил резервный размер кучи, размер фиксации кучи, резервный размер стека и размер фиксации стека в свойствах (проекта) -> Linker-> Система огромна: 1000000000. Также я изменил «Общий размер файла подкачки для всех дисков» до 100 ГБ ОЗУ (у меня есть виртуальная машина с 120 ГБ ОЗУ) в панели управления. Это не сработало.
Есть ли какой-нибудь способ иметь возможность поместить более 600000000 целых чисел в вектор?