#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