Ist es möglich boost :: foreach mit std :: map zu verwenden?

Finde ich boost::foreach sehr nützlich, da es spart mir eine Menge schreiben. Zum Beispiel, sagen wir, ich will zu drucken, die alle Elemente in einer Liste:

std::list<int> numbers = { 1, 2, 3, 4 };
for (std::list<int>::iterator i = numbers.begin(); i != numbers.end(); ++i)
   cout << *i << " ";

boost::foreach macht der code oben auch viel einfacher:

std::list<int> numbers = { 1, 2, 3, 4 };
BOOST_FOREACH (int i, numbers)
   cout << i << " ";

Viel besser! Allerdings habe ich nie herausgefunden, eine Möglichkeit (wenn es überhaupt möglich ist), um es für std::maps. Die Dokumentation hat nur Beispiele mit Typen wie vector oder string.

InformationsquelleAutor der Frage Andreas Bonini | 2010-01-20

Schreibe einen Kommentar