Le variabili locali non vanno bene per allocare grosse quantità di dati, dal momento che sono allocate sullo stack, che ha dimensione abbastanza limitata (nell'ordine dei megabyte sulle macchine "normali").
Se devi gestire grandi quantità di dati devi usare l'allocazione dinamica (new[]/delete[]), che usa la memoria dall'heap, che è in genere limitato solo dalla disponibilità di memoria virtuale e di spazio di indirizzi del processo.