#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
multimap<string, string> authors;
// 插入元素, 引入的头文件是 map
authors.insert(make_pair(
string("Evin"), // 这个是 Key
string("Hi")));
authors.insert(make_pair(
string("Evin"), // 跟上面的一样,是同一个key
string("Hello")));
typedef multimap<string, string>::const_iterator mmap_cit;
// 第一种遍历方式
mmap_cit beg = authors.lower_bound("Evin");
mmap_cit end = authors.upper_bound("Evin");
while(beg != end)
{
cout<<beg->second<<endl;
++beg;
}
// 另外一种遍历方式
pair<mmap_cit, mmap_cit> pos = authors.equal_range("Evin");
while(pos.first != pos.second)
{
cout<<pos.first->second<<endl;
++pos.first;
}
cout<<authors.erase("Evin")<<endl; // erase 返回删除的元素个数
return 0;
}
利用 multimap 能够做到一个key, 同一时候相应多个value