En le regardant d'un point de vue pratique plutôt que théorique, sur un système Windows 32 bits, la quantité totale maximale de mémoire disponible pour un seul processus est de 2 Go. Vous pouvez dépasser la limite en passant à un système d'exploitation 64 bits avec beaucoup plus de mémoire physique, mais que vous choisissiez de le faire ou de chercher des alternatives dépend beaucoup de vos utilisateurs prévus et de leurs budgets. Vous pouvez également l'étendre quelque peu en utilisant PAE.
Le type du tableau est très important, car la structure d'alignement par défaut sur de nombreux compilateurs est de 8 octets, ce qui est très gaspilleur si l'utilisation de mémoire est un problème. Si vous utilisez Visual C++ pour cibler Windows, consultez la directive #pragma pack comme moyen de surmonter cela.
Une autre chose à faire est de regarder quelles techniques de compression en mémoire pourraient vous aider, telles que les matrices creuses, la compression à la volée, etc... Encore une fois, cela dépend beaucoup de l'application. Si vous éditez votre message pour donner plus d'informations sur ce qui se trouve réellement dans vos tableaux, vous pourriez obtenir des réponses plus utiles.
Édition : Compte tenu de quelques informations supplémentaires sur vos exigences exactes, vos besoins de stockage semblent se situer entre 7,6 Go et 76 Go non compressés, ce qui nécessiterait une boîte 64 bits assez coûteuse pour stocker un tableau en mémoire en C++. Cela soulève la question de pourquoi vous voulez stocker les données en mémoire, où l'on présume pour la rapidité d'accès et pour permettre un accès aléatoire. La meilleure façon de stocker ces données en dehors d'un tableau dépend surtout de la manière dont vous souhaitez y accéder. Si vous avez besoin d'accéder de manière aléatoire aux membres du tableau, pour la plupart des applications, il y a tendance à être des moyens de regrouper des tas de données qui ont tendance à être accessibles en même temps. Par exemple, dans de grandes bases de données GIS et spatiales, les données sont souvent divisées en tuiles par zone géographique. En termes de programmation C++, vous pouvez remplacer l'opérateur [] du tableau pour extraire des portions de vos données à partir d'un stockage externe au besoin.