Seuraava esimerkki paljastaa ehkä paremmin STL:n voimaa.
/* STDMAP.CPP */ // Esimerkki std:n map-luokan käytöstä, BC 5.00 // map = dictionary = associative array #include <iostream.h> #include <string> #include <map> typedef std::map<string,long,less<string> > cPuhMap; // Jos esiteltäisiin std::multimap, tulisi myös monikert. esiintymiä // Jos esiteltäisiin greater<string> tulisi laskeva järjestys void tulosta_hlo(const cPuhMap::value_type &hlo) { cout << hlo.first.c_str() << ": " << hlo.second << endl; } class cPuhlu { cPuhMap puh; public: void lisaa(string nimi,long numero) { puh[nimi] = numero; } void poista(string nimi) { puh.erase(nimi); } void tulosta() { for_each(puh.begin(),puh.end(),tulosta_hlo); } }; #define VIIVA "------------------------------------------------------------\n" /****************************************************************************/ int main(void) { cout << VIIVA; cPuhlu luettelo; luettelo.lisaa("Sepe",123); luettelo.lisaa("Aku",1313); luettelo.lisaa("Roope",98765); luettelo.lisaa("Pelle",5555); luettelo.lisaa("Sepe",456); // Tämä jää voimaan luettelo.tulosta(); cout << VIIVA; luettelo.poista("Pelle"); luettelo.tulosta(); cout << VIIVA; return 0; }