我正在使用C ++处理多图数据类型,我想知道特定键在我的地图中存在多少次。下一个示例将说明我在寻找什么:

#include <iostream>
#include <map>

int main ()
{
  std::multimap<char,int> mymap;
  mymap.insert ({'c',10});
  mymap.insert ({'y',20});
  mymap.insert ({'c',30});
  mymap.insert ({'z',40});
  mymap.insert ({'c',40});


  std::cout << "mymap.size() is " << mymap.size() << '\n';

  return 0;
}


上面的代码将为我提供地图中唯一键的数量,这不是我想要的。

    #include <iostream>
    #include <map>

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

      mymap.insert ({'c',10});
      mymap.insert ({'y',20});
      mymap.insert ({'c',30});
      mymap.insert ({'z',40});
      mymap.insert ({'c',40});

      std::cout << "mymap.size('c') is " << mymap.size('c') << '\n';

      return 0;
    }


我想要一种机制,可以计算在地图中重复键“ c”的次数。上一个示例的正确答案是3。

最佳答案

使用mymap.count('c')。如果要使用相同的键迭代元素,请使用equal_range方法。

关于c++ - 特定键在std::multimap中出现多少次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44043438/

10-12 23:57