unordered_map的find函数使用
时间: 2023-11-01 09:52:16 浏览: 117
IATHook的代码 unorder-map管理
unordered_map的find函数用于在容器中搜索以指定键为键的元素。如果找到了该键值,则返回一个指向该元素的迭代器;如果在容器中未找到指定的键,则返回一个指向容器末尾的迭代器(unordered_map::end)。可以通过以下方式使用find函数:
```cpp
#include <iostream>
#include <unordered_map>
#include <string>
int main() {
std::unordered_map<std::string, double> mymap = {{"mom", 5.4}, {"dad", 6.1}, {"bro", 5.9}};
std::string input;
std::cout << "who? ";
getline(std::cin, input);
std::unordered_map<std::string, double>::const_iterator it = mymap.find(input);
if (it == mymap.end()) {
std::cout << "not found";
} else {
std::cout << it->first << " is " << it->second;
}
std::cout << std::endl;
return 0;
}
```
在上述示例中,我们首先创建了一个unordered_map对象mymap,然后从用户输入中获取一个键值input。接下来,我们使用mymap.find(input)在unordered_map中搜索以input为键的元素,将返回的迭代器存储在it中。通过比较it和mymap.end(),我们可以确定是否找到了指定的键值。如果找到了,则输出该元素的键和值;如果未找到,则输出"not found"。
阅读全文