У меня есть код здесь, где есть массив объектов «Бэкон». Я могу скомпилировать и запустить его и добавить объекты в массив, но когда размер массива превышает один миллион, я запустил его, и он говорит: «bacon.exe перестала работать», и мне нужно его закрыть. Я думаю, что это может быть утечка памяти, но я все еще об этом узнаю. Я использую netbeans ide, и я попытался выделить больше памяти при компиляции, но я не мог понять, как это сделать. Примечание. Это связано не только с тем, что у моего компьютера закончилась нехватка памяти, потому что у меня все еще есть 2 ГБ после запуска программы. Вот мой код:Ошибка памяти цикла C++?
#include <iostream>
#include "Bacon.h"
using namespace std;
int main() {
const int objs = 1000000;
Bacon *bacs[objs];
for(int i = 0;i < objs;i++){
bacs[i] = new Bacon(2,3);
}
for(int i = 0;i < objs;i++){
bacs[i]->print();
}
cin.ignore();
return 0;
}
«Генерировать ошибку» не очень полезно - какая ошибка? –
@PaulR извините. на самом деле не ошибка. Когда я запускаю файл .exe, он говорит: «bacon.exe перестала работать» –
Вы можете посмотреть здесь http://stackoverflow.com/questions/3771154/how-to-declare-and-use-huge-arrays-of- 1-billion-integers-in-c –