Avatar ·

Cómo verificar si existe una clave en std::map en C++

¡Hola a todos! Soy nuevo en C++ y me encontré con un problema al trabajar con std::map. Tengo un diccionario que almacena pares "clave-valor", por ejemplo, ID de usuario y su nombre. Necesito verificar si existe una clave específica en este diccionario antes de acceder a ella para evitar errores. Intenté usar el operador [] para acceder, pero si la clave no existe, crea una nueva entrada con esa clave y un valor por defecto, lo cual no me sirve. Aquí está mi ejemplo de código: ```cpp #include #include #include int main() { std::map users; users[1] = "Alice"; users[2] = "Bob"; // Intento verificar si existe la clave 3 if (users[3] == "") { // ¡Esto crea una entrada con la clave 3! std::cout << "Clave 3 no encontrada" << std::endl; } else { std::cout << "Clave 3 encontrada: " << users[3] << std::endl; } // Ahora users tiene una entrada extra {3, ""} std::cout << "Tamaño del map: " << users.size() << std