У меня есть класс, который содержит 4 целых числа. Мне нужно создать 1 миллион экземпляров вышеуказанного класса. Как мне создать ..?Память Организация больших данных
Наивный подход: Класс arrMyObjectes [1000000];
Но нужно 1million * SizeOf (OBJ) = 16Millions байт непрерывного блока памяти ****, который будет трудно получить ..
Лучше подход будет: * Класс arrMyObjectes []; 1000000
Теперь мы создадим объекты, используя 1000000 новый и мы будем хранить указатели в упомянутом выше массиве указателей ... Даже в этом случае нам нужно 1 миллионы * SizeOf (указатель) = 4million байт непрерывный блок памяти .. тоже кажется трудно получить ..
Есть ли другой лучший подход.
Возможно, вы захотите попробовать 'std :: vector < MyClass> container (100000);'. Вектор выделяет память динамически. –
Вам ** нужен ** доступ ко всем предметам одновременно? –
16MB непрерывной памяти довольно легко найти на рабочем столе. Также тот факт, что память смежна, будет иметь ** потрясающие ** (полезные) эффекты на производительность, если вы производите линейную обработку. –