c++ unordered_map 判断是否包含某个键值
时间: 2023-07-08 17:36:21 浏览: 268
C++检测键盘某键是否按下的方法
判断一个 `unordered_map` 是否包含某个键值可以使用 `count()` 或者 `find()` 方法。
使用 `count()` 方法:
```c++
unordered_map<int, string> my_map = {{1, "one"}, {2, "two"}, {3, "three"}};
if (my_map.count(2)) {
cout << "my_map contains key 2" << endl;
} else {
cout << "my_map does not contain key 2" << endl;
}
```
使用 `find()` 方法:
```c++
unordered_map<int, string> my_map = {{1, "one"}, {2, "two"}, {3, "three"}};
if (my_map.find(2) != my_map.end()) {
cout << "my_map contains key 2" << endl;
} else {
cout << "my_map does not contain key 2" << endl;
}
```
在上述代码中,`count()` 方法返回一个整数值,表示键值为参数的元素出现的次数(因为 `unordered_map` 中每个键值只会出现一次,所以返回值只能是 0 或 1)。`find()` 方法返回一个指向键值为参数的元素的迭代器,如果没找到则返回 `unordered_map::end()`。
阅读全文