#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