Mega Code Archive

 
Categories / C++ Tutorial / Map Multimap
 

Erase an element given an iterator from the multimap

#include <map> #include <iostream> #include <string> using namespace std; typedef multimap <int, string> MULTIMAP_INT_STRING; int main () {     MULTIMAP_INT_STRING  mmapIntToString;     mmapIntToString.insert (MULTIMAP_INT_STRING::value_type (3, "Three"));     mmapIntToString.insert (MULTIMAP_INT_STRING::value_type(45, "Forty Five"));     // Erase an element given an iterator from the multimap     MULTIMAP_INT_STRING::iterator iElementLocator = mmapIntToString.find(45);     if (iElementLocator != mmapIntToString.end ())     {         mmapIntToString.erase (iElementLocator);         cout << "Erased a pair with 45 as key using an iterator" << endl;     }     MULTIMAP_INT_STRING::const_iterator iPairLocator;          // Print the contents of the multimap to the screen     for ( iPairLocator = mmapIntToString.begin ()         ; iPairLocator != mmapIntToString.end ()         ; ++ iPairLocator )     {         cout << "Key: " << iPairLocator->first;         cout << ", Value: " << iPairLocator->second.c_str () << endl;     }     return 0; }