C++のマップを逆順で反復する方法は何ですか?

C++では、mapを逆順で走査するためにrbegin()とrend()関数を使用することができます。rbegin()関数は、マップの最後の要素を指す反復子を返し、rend()関数は、マップの開始位置を指す反復子を返します。

以下は、マップを逆順で走査する方法を示すサンプルコードです。

#include <iostream>
#include <map>

int main() {
    std::map<int, std::string> myMap;

    myMap[1] = "One";
    myMap[2] = "Two";
    myMap[3] = "Three";
    myMap[4] = "Four";
    myMap[5] = "Five";

    // 倒序遍历map
    for (auto it = myMap.rbegin(); it != myMap.rend(); ++it) {
        std::cout << it->first << ": " << it->second << std::endl;
    }
    
    return 0;
}

結果は出力されます。

5: Five
4: Four
3: Three
2: Two
1: One

この例では、私たちはmapオブジェクトであるmyMapを作成し、いくつかのキーと値を挿入しました。次に、rbegin()とrend()関数を使用して、mapを逆順で反復処理し、各キーと値のペアを出力します。

bannerAds