マップキーに要素が含まれているかどうかを確認する方法があるのだろうか。例えば:
#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」は、マップ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;
}
前もって感謝します