Maison >développement back-end >C++ >Comment puis-je stocker correctement des tableaux dans un vecteur C ?
Gestion appropriée des vecteurs
En C , les vecteurs sont de puissants conteneurs pour stocker des collections d'objets. Cependant, tenter de stocker des tableaux directement dans un vecteur peut entraîner des erreurs, comme on le voit lors de la déclaration d'un vecteur de tableaux flottants (vecteur
Ce problème se produit parce que les tableaux ne sont pas intrinsèquement pris en charge en tant qu'éléments de conteneur. Les conteneurs nécessitent que leurs éléments stockés soient constructibles et assignables, mais les tableaux ne remplissent pas ces exigences.
Solution : utilisation de modèles de classe de tableau
Pour surmonter cette limitation, il est recommandé d'utiliser des modèles de classes de tableaux au lieu de tableaux bruts. Les bibliothèques C telles que Boost, TR1 et C 0x proposent des modèles de tableau qui offrent une constructibilité et une assignabilité de copie.
Par exemple, en utilisant le modèle de classe de tableau fourni par C 0x :
std::vector<std::array<double, 4>>
Alternativement , vous pouvez utiliser les modèles de tableau incorporés dans les bibliothèques C TR1 ou Boost :
std::vector<std::tr1::array<double, 4>> // or std::vector<boost::array<double, 4>>
Classe de tableau personnalisée (Facultatif)
Vous pouvez également créer votre propre classe de tableau qui implémente la construction et l'affectation de copies si vous le souhaitez, garantissant ainsi la compatibilité avec l'utilisation du conteneur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!