Avatar ·

Wie man alle Elemente einer std::map in C++ richtig durchläuft (iteriert)?

Hallo zusammen! Ich habe kürzlich angefangen, C++ zu lernen, und bin auf folgende Aufgabe gestoßen: Ich muss alle Schlüssel-Wert-Paare in einer std::map durchgehen und sie zum Beispiel auf dem Bildschirm ausgeben oder eine Operation ausführen. Ich verstehe, dass map ein assoziativer Container ist, in dem jedes Element als std::pair gespeichert wird, aber ich komme mit der Syntax der Schleifen nicht klar. Ich habe es so versucht: ```cpp #include #include #include int main() { std::map ages; ages["Alice"] = 30; ages["Bob"] = 25; ages["Charlie"] = 35; // Meine erste Variante — das ist offensichtlich falsch for (int i = 0; i < ages.size(); i++) { std::cout << ages[i] << std::endl; // Compiler-Fehler } } ``` Aber das funktioniert natürlich nicht, weil operator[] bei map einen Schlüssel erwartet, keinen Index. Dann bin ich auf Iteratoren gestoßen und habe so etwas geschrieben: ```cpp for (std::map::iterator it = ages.begin(); it != ages.end(); ++it) { std::cout