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
1022 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!

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