C++ のマップを反復処理する方法はいくつありますか?
C++で、mapをイテレートする方法にはいくつかの方法があります。
- イテレーターを使用して反復処理を行う:
- std::map<Key、Value> myMap;
// myMapに要素を追加する
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
// itが指すキーと値にアクセスする
// it->firstがキー、it->secondが値である
} - C++11の範囲forループを使用します。
- std::map<Key, Value> myMap;
// myMapに要素を追加
for (const auto& kvPair : myMap) {
// kvPairのキーと値にアクセスする
// kvPair.firstがキーで、kvPair.secondが値である
} - std::for_eachアルゴリズムを使用します。
- std::map<Key, Value> myMap;
// myMapに要素を追加
std::for_each(myMap.begin(), myMap.end(), [](const std::pair& kvPair) {
// kvPairのキーと値にアクセス
// kvPair.firstはキーで、kvPair.secondは値である
});
これらの方法はすべてマップをループするために使用できますが、どの方法を選択するかは個人の好みやニーズによります。