unordered_map函数包含某个值
时间: 2023-11-11 17:53:27 浏览: 64
C++11 unordered_map与map(插入,遍历,Find)效率对比。
要检查一个 unordered_map 是否包含某个值,可以使用 count 或 find 函数。这两个函数都接受一个键作为参数,如果键存在,则返回 1 或指向该键的迭代器,否则返回 0 或 unordered_map 的 end 迭代器。
例如,假设我们有一个 unordered_map<string, int>,我们想检查是否包含键为 "foo" 的条目,可以使用以下代码:
```c++
unordered_map<string, int> myMap;
// 添加一些条目
myMap["foo"] = 42;
myMap["bar"] = 123;
// 检查是否包含键为 "foo" 的条目
if (myMap.count("foo") > 0) {
cout << "myMap 包含键为 foo 的条目" << endl;
}
// 或者使用 find 函数
auto it = myMap.find("foo");
if (it != myMap.end()) {
cout << "myMap 包含键为 foo 的条目,值为 " << it->second << endl;
}
```
注意,如果你只需要检查一个 unordered_map 是否包含某个键,使用 count 函数可能更快,因为它只返回一个整数。如果你需要访问该键对应的值,使用 find 函数可能更方便,因为它返回一个迭代器。
阅读全文