1: //multimap01.cpp 3: #include <iostream> 4: #include <map> 5: #include <string> 6: using namespace std; 8: int main() 9: { 10: cout << "\nThis program illustrates the difference in behavior when " 11: "duplicate\nentries are inserted into a map and a multimap."; 12: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 14: cout << "\nFirst we create an empty map and try to put five people " 15: "in it,\ntwo named Jones and three named Smith."; 16: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 17: map<string, string> namesMap; 18: namesMap.insert(pair<string, string>("Jones", "Fred")); 19: namesMap.insert(pair<string, string>("Jones", "Alice")); 20: namesMap.insert(pair<string, string>("Smith", "Tom")); 21: namesMap.insert(pair<string, string>("Smith", "Alicia")); 22: namesMap.insert(pair<string, string>("Smith", "Jon")); 23: map<string, string>::iterator i = namesMap.begin(); 25: cout << "\nThe size of the our map is " << namesMap.size() 26: << ". Here are the people in it:\n"; 27: while (i != namesMap.end()) 28: { 29: cout << i->first << " " << i->second << endl; 30: ++i; 31: } 32: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 34: cout << "\nNext we create an empty multimap and try to put the same " 35: "five people in it."; 36: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 37: multimap<string, string> names; 38: names.insert(pair<string, string>("Jones", "Fred")); 39: names.insert(pair<string, string>("Jones", "Alice")); 40: names.insert(pair<string, string>("Smith", "Tom")); 41: names.insert(pair<string, string>("Smith", "Alicia")); 42: names.insert(pair<string, string>("Smith", "Jon")); 43: multimap<string, string>::iterator p = names.begin(); 45: cout << "\nThe size of the our multimap is " << names.size() 46: << ". Here are the people in it:\n"; 47: while (p != names.end()) 48: { 49: cout << p->first << " " << p->second << endl; 50: ++p; 51: } 52: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 53: }