c++ unorder_map的find函数与count函数的区别
c++ unorder_map的find函数与count函数的区别find函数unorder_map中的find函数是查找key所对应的value的位置(迭代器)。若存在,则返回key所对应的value的迭代器,通过it->fisrt和it->second来获取键和值;所不存在,则返回unorder_map::end。unordered_map<char, int>mp1{
·
c++ unorder_map的find函数与count函数的区别
- find函数
unorder_map中的find函数是查找key所对应的value的位置(迭代器)。
- 若存在,则返回key所对应的value的迭代器,通过it->fisrt和it->second来获取键和值;
- 所不存在,则返回unorder_map::end。
unordered_map<char, int>mp1{ {'a',1},{'b',2},{'c',3} };
char c = 'a';
char d = 'd';
unordered_map<char, int>::iterator it;
it = mp1.find(c);
if (it == mp1.end())
cout << "not found" << endl;
else
cout << it->first << " " << it->second << endl;
it = mp1.find(d);
if (it == mp1.end())
cout << "not found" << endl;
else
cout << it->first << " " << it->second << endl;
结果:
2.count函数
unorder_map中的count函数是返回key对应的value的个数的。
- 由于unorder_map中没有相同的键,所以count函数的结果为:若有key为1,若没有key则为0。
unordered_map<char, int>mp1{ {'a',1},{'b',2},{'c',3} };
char c = 'a';
char d = 'd';
cout << mp1.count(c) << endl;
cout << mp1.count(d) << endl;
结果:
补充:在map中,find函数与count函数的用法一样。
更多推荐
已为社区贡献1条内容
所有评论(0)