Exchange the contents of two map - C++ STL

C++ examples for STL:map

Description

Exchange the contents of two map

Demo Code

#include <iostream>
#include <string>
#include <map>
using namespace std;
void show(const char *msg, map<string, int> mp);
int main() {// ww  w .ja va 2s .c om
   // Declare an empty map that holds key/value pairs
   // in which the key is a string and the value is an int.
   map<string, int> m;
   // Insert characters into m. An iterator to the inserted
   // object is returned.
   m.insert(pair<string, int>("Alpha", 100));
   m.insert(pair<string, int>("Gamma", 300));
   m.insert(pair<string, int>("Beta", 200));
   // Declare an iterator to a map<string, itr>.
   map<string, int>::iterator itr;
   // Declare a reverse iterator to a map<string, itr>.
   map<string, int>::reverse_iterator ritr;
   // Create another map that is the same as the first.
   map<string, int> m2(m);
   show("Contents of m2: ", m2);
   // Exchange the contents of m and m2.
   cout << "Exchange m and m2.\n";
   m.swap(m2);
   show("Contents of m: ", m);
   show("Contents of m2: ", m2);
   return 0;
}
// Display the contents of a map<string, int> by using
// an iterator.
void show(const char *msg, map<string, int> mp) {
   map<string, int>::iterator itr;
   cout << msg << endl;
   for(itr=mp.begin(); itr != mp.end(); ++itr)
      cout << "  " << itr->first << ", " << itr->second << endl;
   cout << endl;
}

Result


Related Tutorials