я кодирования объявить несколько больших массивов и делать манипуляции с элементами и т.д.bad_alloc при объявлении массива, кажется достаточно памяти
Когда код попадает в одну секцию, объявить временный массив, он подбрасывает bad_alloc после составляя около 1,8 м столбцов.
Кодекс:
int** tempArray1= new int*[PHLengths[n-1]];
for(int i =0;i<PHLengths[n-1];i++) {
tempArray1[i]=new int[PrimeDatL];
}
В рассматриваемом случае PrimeDatL ~ 417 и PHLengths [N-1] ~ 3630140.
Обычно я предполагаю, что это просто вопрос нехватки оперативной памяти (как это бывает, он будет заполнен, как определено в настоящее время, поэтому я МОГУТ объявлять динамический массив и заполнять/расширять вдоль пути), однако, когда я держу глаз на компьютерных ресурсах он идет примерно до 3 гб/5 гб, а затем дает ошибку.
Одна тонкость здесь заключается в том, что я использую ubuntu на виртуальном боксе, так что это может вызвать проблемы с адресом памяти? Неужели наивно думать, что эта ошибка возникает только тогда, когда я полностью из ОЗУ?
Я также попытался объявить его ранее в программе, чтобы увидеть, были ли проблемы с памятью на этом пути, та же проблема.
Прочтите [это] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778 (v = vs.85) .aspx # memory_limits), если вы находитесь в Windows. Возможно, вам придется переключиться на режим 64-битного компилятора. – dasblinkenlight