检查 C++ 中是否存在元素地图?

发布于 2024-11-05 05:11:51 字数 231 浏览 1 评论 0原文

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

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

Possible Duplicate:
How to find if a given key exists in a C++ std::map

In C++, how can I check if there is an element with a key?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

是你 2024-11-12 05:11:51
if (myMap.find(key) != myMap.end())
{ // there is such an element
}

请参阅参考了解std::map::find

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

See the reference for std::map::find

微凉徒眸意 2024-11-12 05:11:51

尝试使用 find 方法查找它,如果未找到该元素,该方法将返回地图的 end() 迭代器:

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

当然,您不应该 如果稍后需要与给定键对应的值,请查找两次。在这种情况下,只需先存储 find 的结果即可:

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

Try to find it using the find method, which will return the end() iterator of your map if the element is not found:

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

Of course you shouldn't find twice if you need the value corresponding to the given key later. In this case, simply store the result of find first:

YourMapType data;
...
YourMapType::const_iterator it;
it = data.find(key);
if (it != data.end()) {
    // do whatever you want
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文