Maison > développement back-end > C++ > Comment vérifier efficacement l'existence d'une clé dans un std :: map C ?

Comment vérifier efficacement l'existence d'une clé dans un std :: map C ?

Barbara Streisand
Libérer: 2024-12-10 10:56:10
original
1060 Les gens l'ont consulté

How to Efficiently Check for Key Existence in a C   std::map?

Vérification de l'existence d'une clé dans un std::map

Dans le domaine du C moderne, la structure de données std::map propose une implémentation sophistiquée d'un conteneur associatif ordonné. Lorsque vous travaillez avec des cartes, une tâche courante consiste à déterminer la présence d'une clé spécifique dans la collection.

Considérez l'extrait de code fourni :

typedef map<string,string>::iterator mi;
map<string, string> m;
m.insert(make_pair("f","++--"));
pair<mi,mi> p = m.equal_range("f");
cout << p.first;
Copier après la connexion

Le code tente de vérifier si la clé "f" existe dans la carte. Cependant, il utilise la méthode égal_range, qui peut ne pas correspondre à l'objectif visé. Pour vérifier efficacement l'existence d'une clé, une approche plus appropriée consiste à utiliser la méthode find en conjonction avec l'itérateur de fin :

if (m.find("f") == m.end()) {
  // Key "f" not found
} else {
  // Key "f" found
}
Copier après la connexion

En utilisant la méthode find, vous pouvez récupérer un itérateur pointant vers l'élément avec l'élément spécifié. clé. Si la clé n'existe pas, l'itérateur renvoyé sera équivalent à l'itérateur de fin de la carte. Ce mécanisme simple mais efficace vous permet de déterminer sans effort la présence ou l'absence d'une clé dans un std::map.

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!

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