我正在使用stl的unordered_map,但似乎无法正常使用count方法。 这是我的程序:
typedef unordered_map<char, int> Mymap;
int main()
{
Mymap m;
m.insert(Mymap::value_type('a', 1));
m.insert(Mymap::value_type('b', 2));
m.insert(Mymap::value_type('c', 3));
m.insert(Mymap::value_type('b', 4));
m.insert(Mymap::value_type('b', 5));
cout << m.count('b') << endl;
return 0;
}
文档中说unordered_map::count(const Key& k)返回键为k的元素数量。因此我期望这里的输出应该是3,但实际输出为1。为什么?
find(...) != end()
? - Paul Mantacount()
是所有关联式容器的接口之一。 - James McNellismap
是一种独特的关联容器,因此m.count()
只会返回0或1。但对于一般的关联容器,如multiset、multimap等,它可以返回大于1的值。 - jfs