Avatar ·

Comment vérifier si une clé existe dans std::map en C++ ?

Bonjour à tous ! Je suis débutant en C++ et j'ai rencontré un problème en travaillant avec std::map. J'ai un dictionnaire qui stocke des paires "clé-valeur", par exemple, l'ID d'un utilisateur et son nom. Je dois vérifier si une clé spécifique existe dans ce dictionnaire avant d'y accéder, afin d'éviter des erreurs. J'ai essayé d'utiliser l'opérateur [] pour accéder, mais si la clé n'existe pas, il crée une nouvelle entrée avec cette clé et une valeur par défaut, ce qui ne me convient pas. Voici mon exemple de code : ```cpp #include #include #include int main() { std::map users; users[1] = "Alice"; users[2] = "Bob"; // J'essaie de vérifier si la clé 3 existe if (users[3] == "") { // Cela crée une entrée avec la clé 3 ! std::cout << "Clé 3 non trouvée" << std::endl; } else { std::cout << "Clé 3 trouvée : " << users[3] << std::endl; } // Maintenant, users a une entrée supplémentaire {3, ""} std::cout << "Taille du map : " << users.size() << std }