unordered_map怎么查找value
时间: 2023-04-28 21:02:25 浏览: 531
unordered_map可以通过以下两种方式查找value:
1. 使用find()函数:该函数接受一个key作为参数,返回一个指向key对应的value的迭代器。如果key不存在,则返回unordered_map的end()迭代器。
例如:
```c++
unordered_map<string, int> myMap = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
auto it = myMap.find("banana");
if (it != myMap.end()) {
cout << "The value of banana is " << it->second << endl;
} else {
cout << "banana is not in the map" << endl;
}
```
2. 使用[]运算符:该运算符接受一个key作为参数,返回key对应的value。如果key不存在,则会自动插入一个新的key-value对,value的默认值为该类型的默认构造函数的返回值。
例如:
```c++
unordered_map<string, int> myMap = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
int value = myMap["banana"];
cout << "The value of banana is " << value << endl;
```
需要注意的是,使用[]运算符查找不存在的key时,会自动插入一个新的key-value对。因此,在使用[]运算符查找key时,应该先使用count()函数检查key是否存在。
阅读全文