Maison > développement back-end > C++ > Quel conteneur de bibliothèque standard C 11 dois-je utiliser ?

Quel conteneur de bibliothèque standard C 11 dois-je utiliser ?

Susan Sarandon
Libérer: 2024-12-06 05:50:15
original
357 Les gens l'ont consulté

Which C  11 Standard Library Container Should I Use?

Choisir le conteneur de bibliothèque standard C 11 optimal

L'aide-mémoire classique « C Container Choice » fournit des conseils sur la sélection du conteneur approprié pour des scénarios d'utilisation spécifiques. Cependant, il lui manque une version mise à jour pour C 11.

Pour compenser, voici un workflow textuel pour aider à la sélection des conteneurs :

1. La sémantique d'abord

Conteneurs associatifs :

  • Utilisez des conteneurs associatifs si vous avez besoin d'effectuer une recherche à l'aide d'une seule clé.
  • Choisissez des conteneurs ordonnés pour maintenir le tri éléments.
  • Pour des paires clé-valeur distinctes, utilisez Map ; pour les clés uniquement, pensez à Set.
  • Activez les doublons avec des préfixes « multi ».

Conteneurs de séquence simples :

  • Sélectionnez un contenant approprié en fonction des critères suivants :

2. Stabilité de la mémoire

  • Utilisez les listes si les éléments doivent rester en mémoire lors des modifications du conteneur.
  • Liste par défaut ; utilisez Forward_List uniquement pour réduire l'empreinte mémoire.

3. Dimensionnement dynamique

  • Utilisez des tableaux si la taille est connue au moment de la compilation et reste constante, et que les éléments sont constructibles par défaut ou initialisés à l'aide d'accolades.

4. Double extrémité

  • Choisissez Deque si vous devez ajouter ou supprimer des éléments aux deux extrémités.
  • Optez pour Vector sinon.

Exemples

Scénario : Récupération de données sur une personne en fonction de données uniques ID.

  • Nous avons besoin d'une fonctionnalité de recherche (conteneur associatif).
  • L'ordre n'a pas d'importance (non ordonné).
  • Les clés (ID) sont séparées des valeurs (carte). .
  • Aucun doublon (non "multi").

Résultat : std::unordered_map.

Remarque : Si aucune contrainte particulière appliquer, Vector est recommandé comme choix par défaut pour les conteneurs de séquence simples.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal