c++ map如何用value得到key
时间: 2023-03-29 17:02:49 浏览: 122
C++ map 根据value找key的实现
可以使用迭代器来遍历整个map,找到对应的value所对应的key。具体实现可以参考以下代码:
```c++
#include <iostream>
#include <map>
using namespace std;
int main() {
map<int, string> myMap = {{1, "apple"}, {2, "banana"}, {3, "orange"}};
string value = "banana";
int key = -1;
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
if (it->second == value) {
key = it->first;
break;
}
}
if (key != -1) {
cout << "The key of value " << value << " is " << key << endl;
} else {
cout << "Value " << value << " not found in map" << endl;
}
return ;
}
```
以上代码中,我们定义了一个map,其中key是int类型,value是string类型。我们想要找到value为"banana"的key,于是我们使用迭代器遍历整个map,如果找到了对应的value,就将其对应的key保存下来。最后,如果找到了对应的key,就输出结果,否则输出未找到的提示信息。
阅读全文