我想知道是否有一种方法可以检查元素是否包含在地图键中。例如:
#include<iostream>
#include<map>
using namespace std;
int main()
{
map<char, int> mymap;
mymap['a'] = 1;
mymap['b'] = 2;
mymap['z'] = 26;
// I want to check if 'b' is one of the keys in map mymap.
return 0;
}
元素 'a'、'b' 和 'z' 是 map mymap 的键。true
我想要一个命令,如果元素在地图的键中并且false
元素不在地图的键中,则该命令将返回。我环顾四周,但可以找到一个快速的内置方法来做到这一点。我错过了什么吗?有没有这样的方法?
这是让我得到我想要的结果的很长的路要走:
#include<iostream>
#include<map>
using namespace std;
bool check_key(map<char, int> mymap, char key_val);
int main()
{
map<char, int> mymap;
mymap['a'] = 1;
mymap['b'] = 2;
mymap['z'] = 26;
char key_val = 'h';
cout<<mymap.find('z')->first<<endl;
cout<<"checking "<< check_key(mymap, 'h')<<endl;
cout<<"checking "<< check_key(mymap, 'b')<<endl;
return 0;
}
bool check_key(map<char, int> mymap, char key_val){
for (map<char, int>::const_iterator it = mymap.begin(); it != mymap.end(); ++it ){
if (key_val == it->first){
return true;
}
}
return false;
}
先感谢您