Junior — Middle
Quelle approche utiliseriez-vous pour stocker une grande quantité de données lorsque sa taille initiale est inconnue?
sobes.tech IA
Réponse de l'IA
Pour stocker de grandes volumes de données dont la taille initiale est inconnue en C/C++, on utilise généralement l'allocation dynamique de mémoire et des structures de données pouvant s'étendre selon les besoins.
Approches principales :
- Utiliser des tableaux dynamiques avec réallocation de mémoire (par exemple, via
reallocen C oustd::vectoren C++), qui augmentent de taille lorsqu'ils atteignent leur capacité actuelle. - Pour des données très volumineuses, utiliser le stockage sur fichiers ou des bases de données pour ne pas tout garder en mémoire vive.
Exemple avec std::vector en C++ :
#include <vector>
std::vector<int> data;
// Ajouter des éléments au fur et à mesure
for (int i = 0; i < n; ++i) {
int value;
std::cin >> value;
data.push_back(value);
}
std::vector gère automatiquement la mémoire et s'étend si nécessaire.