clear the content of a map with clear() function
#include <map>
#include <iostream>
#include <string>
using namespace std;
typedef map<string, int> STRING2INT;
int main(void)
{
STRING2INT DateMap;
STRING2INT::iterator DateIterator;
string DateBuffer;
DateMap["January"] = 1;
DateMap["February"] = 2;
DateMap["March"] = 3;
DateMap["April"] = 4;
DateMap["May"] = 5;
DateMap["June"] = 6;
DateMap["July"] = 7;
DateMap["August"] = 8;
DateMap["September"] = 9;
DateMap["October"] = 10;
DateMap["November"] = 11;
DateMap["December"] = 12;
// empty DateMap - note that clear simply calls erase(begin(),end());
DateMap.clear();
if(!DateMap.empty())
cout << "DateMap has " << DateMap.size() << " entries" << endl;
else
cout << "DateMap is empty" << endl;
}
clear the content of a map with erase(Map.begin(), Map.end());
#include <map>
#include <iostream>
#include <string>
using namespace std;
typedef map<string, int> STRING2INT;
int main(void)
{
STRING2INT DateMap;
STRING2INT::iterator DateIterator;
string DateBuffer;
DateMap["January"] = 1;
DateMap["February"] = 2;
DateMap["March"] = 3;
DateMap["April"] = 4;
DateMap["May"] = 5;
DateMap["June"] = 6;
DateMap["July"] = 7;
DateMap["August"] = 8;
DateMap["September"] = 9;
DateMap["October"] = 10;
DateMap["November"] = 11;
DateMap["December"] = 12;
DateMap.erase(DateMap.begin(), DateMap.end());
if(!DateMap.empty())
cout << "DateMap has " << DateMap.size() << " entries" << endl;
else
cout << "DateMap is empty" << endl;
}
Erase a found pair from map
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main( ) {
map<string, string> strMap;
strMap["Monday"] = "1";
strMap["Tuesday"] = "2";
strMap["Wednesday"] = "3";
strMap["Thursday"] = "4";
strMap["Friday"] = "5";
strMap["Saturday"] = "6";
strMap.insert(pair<string, string>("Sunday", "7"));
strMap.erase(strMap.find("Tuesday"));
for (map<string, string>::iterator p = strMap.begin( );
p != strMap.end( ); ++p ) {
cout << "English: " << p->first<< ", #: " << p->second << endl;
}
cout << endl;
}
English: Friday, #: 5
English: Monday, #: 1
English: Saturday, #: 6
English: Sunday, #: 7
English: Thursday, #: 4
English: Wednesday, #: 3
Remove an entry from a map
/* The following code example is taken from the book
* "The C++ Standard Library - A Tutorial and Reference"
* by Nicolai M. Josuttis, Addison-Wesley, 1999
*
* (C) Copyright Nicolai M. Josuttis 1999.
* Permission to copy, use, modify, sell and distribute this software
* is granted provided this copyright notice appears in all copies.
* This software is provided "as is" without express or implied
* warranty, and with no claim as to its suitability for any purpose.
*/
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
/* create map / associative array
* - keys are strings
* - values are floats
*/
typedef map<string,float> StringFloatMap;
StringFloatMap stocks; // create empty container
// insert some elements
stocks["BASF"] = 369.50;
stocks["VW"] = 413.50;
stocks["Daimler"] = 819.00;
stocks["BMW"] = 834.00;
stocks["Siemens"] = 842.20;
// print all elements
StringFloatMap::iterator pos;
for (pos = stocks.begin(); pos != stocks.end(); ++pos) {
cout << "stock: " << pos->first << "\t"
<< "price: " << pos->second << endl;
}
cout << endl;
stocks.erase("VW");
// print all elements
for (pos = stocks.begin(); pos != stocks.end(); ++pos) {
cout << "stock: " << pos->first << "\t"
<< "price: " << pos->second << endl;
}
cout << endl;
}
stock: BASF price: 369.5
stock: BMW price: 834
stock: Daimler price: 819
stock: Siemens price: 842.2
stock: VW price: 413.5
stock: BASF price: 369.5
stock: BMW price: 834
stock: Daimler price: 819
stock: Siemens price: 842.2