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を逆順で反復処理し、各キーと値のペアを出力します。