C++官网参考链接:https://cplusplus.com/reference/map/multimap/rbegin/
公有成员函数
<map>
std::multimap::rbegin
C++98
reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
C++11
reverse_iterator rbegin() nothrow;
const_reverse_iterator rbegin() const nothrow;
返回指向反向开始的reverse_iterator
返回一个reverse_iterator,指向容器的最后一个元素(即反向开始)。
reverse_iterator向后迭代:增加它们会使它们向容器的开始位置移动。
rbegin指向成员end将要指向的元素之前的元素。
形参
没有形参。
返回值
指向顺序容器反向开始位置的reverse_iterator。
如果multimap对象是const限定的,该函数返回一个const_reverse_iterator。否则,它返回一个reverse_iterator。
成员类型reverse_iterator和const_reverse_iterator是指向元素的反向双向iterator(bidirectional iterator)类型。请参阅multimap成员类型(multimap member types)。
用例
// multimap::rbegin/rend
#include <iostream>
#include <map>
int main ()
{
std::multimap<char,int> mymultimap;
mymultimap.insert (std::make_pair('x',10));
mymultimap.insert (std::make_pair('y',20));
mymultimap.insert (std::make_pair('y',150));
mymultimap.insert (std::make_pair('z',9));
// show content:
std::multimap<char,int>::reverse_iterator rit;
for (rit=mymultimap.rbegin(); rit!=mymultimap.rend(); ++rit)
std::cout << rit->first << " => " << rit->second << '\n';
return 0;
}
输出:
复杂度
常量。
iterator的有效性
没有变化。
数据竞争
可以访问容器(const类型和非const类型都不会修改容器)。
调用中不能访问包含的元素,但返回的iterator可用于访问或修改元素。同时访问或修改不同的元素是安全的。
异常安全
无抛出保证:这个成员函数从不抛出异常。
返回的iterator的复制构造或赋值操作也保证不会抛出异常。