Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

multimap::count

公众成员函数  <map>
size_type count (const key_type& k) const;

计数具有特定键的元素

在容器中搜索键值等于k的元素,并返回匹配的数量。
如果容器的比较对象返回false(即,无论键作为参数以何种顺序传递), 则认为multimap中的两个键是等效的。

☲  参数


K
要搜索的键。
成员类型key_type是容器中元素键的类型,在multimap中定义为其第一个模板参数(Key)的别名。

☉  返回值



键值等于k的容器中元素的数量。
成员类型size_type是一个unsigned整型。

☣  示例



// multimap::count
#include <iostream>
#include <map>

int main ()
{
  std::multimap<char,int> mymm;

  mymm.insert(std::make_pair('x',50));
  mymm.insert(std::make_pair('y',100));
  mymm.insert(std::make_pair('y',150));
  mymm.insert(std::make_pair('y',200));
  mymm.insert(std::make_pair('z',250));
  mymm.insert(std::make_pair('z',300));

  for (char c='x'; c<='z'; c++)
  {
    std::cout << "There are " << mymm.count(c) << " elements with key " << c << ":";
    std::multimap<char,int>::iterator it;
    for (it=mymm.equal_range(c).first; it!=mymm.equal_range(c).second; ++it)
      std::cout << ' ' << (*it).second;
    std::cout << '\n';
  }

  return 0;
}

输出:
There are 1 elements with key x: 50
There are 3 elements with key y: 100 150 200
There are 2 elements with key z: 250 300

✥ 复杂度



size 为对数,匹配次数为线性。

☣ 迭代器的有效性



不变

⇄ 数据竞争


容器被访问。
不访问映射值:并发访问或修改元素是安全的。

☂ 异常安全性



强保证:如果抛出异常,容器中不会有任何变化。

🍄  另请参阅



multimap::find 获取元素迭代器(公众成员函数)
multimap::size 返回大小(公众成员函数)
multimap::equal_range 获取相等元素的范围(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图