Что ж, использование одного огромного массива связано с рядом проблем: фрагментация памяти, смежные блоки, ограничение максимального размера объекта и т. Д. Если вам нужно много данных, я бы порекомендовал создать класс, имитирующий большой массив, использующий множество меньших (но все еще больших) массивов, каждый из которых имеет фиксированный размер - то есть индексатор делится, чтобы найти соответствующий массив, а затем использует%, чтобы получить смещение внутри этого массива.
Возможно, вы также захотите убедиться, что вы работаете в 64-битной ОС с большим объемом памяти. Это даст вам максимально доступную высоту.
В зависимости от сценария могут быть использованы более сложные алгоритмы, такие как разреженные массивы, эта-векторы и т. Д., Чтобы максимизировать то, что вы можете сделать. Вы можете быть удивлены тем, что люди могли сделать несколько лет назад с ограниченной памятью и просто лентой, вращающейся взад и вперед ...