📅  最后修改于: 2023-12-03 14:39:52.936000             🧑  作者: Mango
在C++ STL中,multimap是一个关联容器,可以存储多个键值对,且允许键值重复。multimap中的键值对是按照键的排序顺序存储的,并且可以通过键来快速查找对应的值。
multimap提供了一系列成员函数和迭代器,用于对其进行操作和访问。其中,rbegin()
是multimap的一个成员函数,用于返回一个指向multimap中最后一个键值对的逆向迭代器。
rbegin()
函数没有参数,直接在multimap对象上调用即可。返回的是一个逆向迭代器,可以通过解引用操作获取键值对或修改它。
下面是一个示例代码:
#include <iostream>
#include <map>
int main() {
std::multimap<int, std::string> myMap;
myMap.insert(std::make_pair(1, "apple"));
myMap.insert(std::make_pair(2, "banana"));
myMap.insert(std::make_pair(3, "orange"));
// 获取逆向迭代器并输出键值对
auto rit = myMap.rbegin();
for (; rit != myMap.rend(); ++rit) {
std::cout << rit->first << ": " << rit->second << std::endl;
}
return 0;
}
输出结果为:
3: orange
2: banana
1: apple
rbegin()
返回的是指向最后一个键值对的逆向迭代器,即迭代器指向multimap中最大的键值对。++
操作符向前移动,也可以通过--
操作符向后移动。rbegin()
返回的逆向迭代器的范围是从最后一个键值对到第一个键值对(即rend()
返回的迭代器之前的位置)。上述介绍是关于C++ STL中multimap的rbegin()
函数的详细内容。希望对程序员有所帮助!