W tym krótkim samouczku zobaczymy, jak iterować po mapie w C++.
Istnieje wiele sposobów iteracji po mapie w C++. W nowszych wersjach C++ istnieją bardziej zaawansowane sposoby iteracji po mapie w C++.
Przyjrzyjmy się każdemu po kolei.
Używanie pętli for z stp::map
Stworzyliśmy mapę o nazwie krajKapitałMapa
i wstawił do niego pary klucz-wartość.
#zawierać
#zawierać
Wynik:
Chiny:Pekin
Francja:Paryż
Indie: Delhi
Nepal:Katmandu
Jak widać, wydrukowaliśmy kraj:kapitał(klucz:wartość) za pomocą pętli for.
Jeśli zauważysz, użyliśmy automatyczny
specyfikator typu dla iteratora mapy ze względu na czytelność. Możesz użyć mapa::iterator
również wyraźnie.
Uwaga: Jeśli widzisz dane wyjściowe, są one posortowane według kluczy w kolejności rosnącej. Dzieje się tak, ponieważ std::map jest posortowanym kontenerem asocjacyjnym z dostarczonym Komparatorem (od wersji C++11). Ponieważ nie dostarczyliśmy żadnego komparatora, więc C++ użył domyślnego komparatora dla string.
Używanie pętli while z stp::map
Możemy również użyć pętli while zamiast pętli for.
#zawierać
#zawierać
Wynik:
Chiny:Pekin
Francja:Paryż
Indie: Delhi
Nepal:Katmandu
Korzystanie z zakresu opartego na pętli (od wersji C++11)
Jeśli używasz wersji C++11, to jest to najbardziej elegancki sposób na iterację po mapie w C++. Możesz uniknąć tradycyjnych pętli z kostką i użyć ich zamiast tego.
#zawierać
#zawierać
Wynik:
Chiny:Pekin
Francja:Paryż
Indie: Delhi
Nepal: Katmandu
Korzystanie z pętli for opartej na zakresie z parami klucz-wartość (od wersji C++ 17)
Ta wersja jest obsługiwana od c++17 i zapewnia bardziej elastyczny sposób iteracji po mapie. Możesz jawnie uzyskać dostęp do pary klucz-wartość na mapie, co zapewnia jeszcze bardziej czytelne rozwiązanie.
#zawierać
#zawierać
Wynik:
Chiny:Pekin
Francja:Paryż
Indie: Delhi
Nepal: Katmandu
To wszystko o tym, jak iterować po mapie w C++. Szczęśliwego kodowania!