std::map<std::string, std::string> 判断是否包含某个键 或者 值
时间: 2023-06-20 10:04:20 浏览: 93
可以使用 `std::map` 的 `find` 函数判断是否包含某个键,如果返回的迭代器等于 `map` 的 `end` 迭代器,则说明该键不存在。示例代码如下:
```c++
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<std::string, std::string> m {
{"key1", "value1"},
{"key2", "value2"},
{"key3", "value3"}
};
// 判断是否包含某个键
std::string key = "key2";
auto it = m.find(key);
if (it != m.end()) {
std::cout << "Map contains key: " << key << std::endl;
} else {
std::cout << "Map does not contain key: " << key << std::endl;
}
// 判断是否包含某个值
std::string value = "value3";
for (const auto& kv : m) {
if (kv.second == value) {
std::cout << "Map contains value: " << value << std::endl;
break;
}
}
return 0;
}
```
输出结果:
```
Map contains key: key2
Map contains value: value3
```
阅读全文