检查C++映射中是否存在元素

Check if element exists in C++ map?

本文关键字:存在 元素 是否 C++ 映射 检查      更新时间:2023-10-16

可能重复:
如何查找给定密钥是否存在于C++std::map 中

在C++中,如何检查是否有带键的元素?

if (myMap.find(key) != myMap.end())
{ // there is such an element
}

参见std::map::find 的参考

尝试使用find方法找到它,如果找不到元素,该方法将返回映射的end()迭代器:

if (data.find(key) != data.end()) {
    // key is found
} else {
    // key is not found
}

当然,如果以后需要与给定键对应的值,就不应该find两次。在这种情况下,只需先存储find的结果:

YourMapType data;
...
YourMapType::const_iterator it;
it = data.find(key);
if (it != data.end()) {
    // do whatever you want
}