C++官网参考链接:https://cplusplus.com/reference/map/map/count/
公有成员函数
<map>
std::map::count
size_type count (const key_type& k) const;
计数具有特定键的元素
在容器中搜索键值等于k的元素,并返回匹配的数量。
因为map容器中的所有元素都是唯一的,所以函数只能返回1(如果找到了元素)或0(否则)。
如果容器的比较对象(comparison object)条件反射地返回false(即,无论键作为实参传递的顺序如何),则认为两个键是等价的。
形参
k
搜索的键。
成员类型key_type是容器中元素键的类型,在map中定义为其第一个模板形参(Key)的别名。
返回值
如果容器包含一个键值等于k的元素,则为1,否则为0。
成员类型size_type是无符号整型。
用例
// map::count
#include <iostream>
#include <map>
int main ()
{
std::map<char,int> mymap;
char c;
mymap ['a']=101;
mymap ['c']=202;
mymap ['f']=303;
for (c='a'; c<'h'; c++)
{
std::cout << c;
if (mymap.count(c)>0)
std::cout << " is an element of mymap.\n";
else
std::cout << " is not an element of mymap.\n";
}
return 0;
}
输出:
复杂度
size中的对数。
iterator的有效性
没有变化。
数据竞争
访问容器。
不访问映射值:同时访问或修改元素是安全的。
异常安全
强保证:如果抛出异常,则容器中不会有任何更改。