Ho un vettore molto grande (milioni di voci da 1024 byte ciascuna). Sto superando la dimensione massima del vettore (ottenendo una brutta eccezione di allocazione di memoria). Sto facendo un'operazione ricorsiva sul vettore di elementi che richiede l'accesso ad altri elementi nel vettore. Le operazioni devono essere eseguite rapidamente. Sto cercando di evitare di scrivere sul disco per motivi di velocità. C'è un altro modo per memorizzare questi dati che non richiederebbero la scrittura su disco? Se devo scrivere i dati su disco, quale sarebbe il modo più ideale per farlo>C++ vector out of memory
modificare per qualche altro dettaglio.
Le operazioni che sto eseguendo sul set di dati stanno generando una stringa in modo ricorsivo in base ad altri punti di dati nel vettore. I dati vengono ordinati quando vengono letti. Set di dati compresi tra 50.000 e 50.000,0000.
Non possiamo davvero dire nulla senza sapere di più sui vostri dati. – NPE
Quanta memoria è necessaria? Quanta memoria hai a disposizione? –
Hai bisogno di avere memoria contigua per qualunque cosa tu stia facendo? In caso contrario, un semplice cambiamento sarebbe utilizzare invece 'std :: deque'; dovrebbe consentire di memorizzare molti più elementi prima di esaurire la memoria. – Praetorian