Avatar ·

如何检查 std::map 中是否存在某个 key?

大家好!我是 C++ 新手,在使用 std::map 时遇到了问题。我有一个存储键值对的字典,例如用户 ID 和用户名。我需要检查字典中是否存在某个特定的 key,然后再访问它,以避免错误。我尝试使用 operator[] 来访问,但如果 key 不存在,它会创建一个带有该 key 和默认值的新条目,这不符合我的需求。 以下是我的示例代码: ```cpp #include #include #include int main() { std::map users; users[1] = "Alice"; users[2] = "Bob"; // 尝试检查 key 3 是否存在 if (users[3] == "") { // 这会创建一个 key 为 3 的条目! std::cout << "Key 3 未找到" << std::endl; } else { std::cout << "Key 3 找到: " << users[3] << std::endl; } // 现在 users 中多了一个条目 {3, ""} std::cout << "map 的大小: " << users.size() << std