C++官网参考链接:https://cplusplus.com/reference/deque/deque/rbegin/
公有成员函数
<deque>
std::deque::rbegin
C++98
reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
C++11
reverse_iterator rbegin() noexcept;
const_reverse_iterator rbegin() const noexcept;
返回指向反向开始的反向迭代器
返回一个指向容器中最后一个元素的反向迭代器(即它的反向开始)。
反向迭代器向后迭代:增加它们将把它们移向容器的开始。
rbegin指向成员end要指向的元素之前的元素。
注意,与返回对同一元素的引用的成员deque::back不同,该函数返回一个反向随机访问迭代器(random access iterator)。
形参
没有形参。
返回值
指向顺序容器反向开始的反向迭代器。
如果deque对象是const限定的,则函数返回一个const_reverse_iterator。否则,它返回一个reverse_iterator。
成员类型reverse_iterator和const_reverse_iterator是反向随机访问迭代器(random access iterator)类型(分别指向元素和const元素)。参见deque成员类型(deque member types)。
用例
// deque::rbegin/rend
#include <iostream>
#include <deque>
int main ()
{
std::deque<int> mydeque (5); // 5 default-constructed ints
std::deque<int>::reverse_iterator rit = mydeque.rbegin();
int i=0;
for (rit = mydeque.rbegin(); rit!= mydeque.rend(); ++rit)
*rit = ++i;
std::cout << "mydeque contains:";
for (std::deque<int>::iterator it = mydeque.begin(); it != mydeque.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
return 0;
}
输出:
复杂度
常量。
迭代器有效性
没有变化。
数据竞争
容器被访问(const和非const版本都不会修改容器)。
调用不访问包含的元素,但返回的迭代器可用于访问或修改元素。同时访问或修改不同的元素是安全的。
异常安全
无抛出保证:该成员函数从不抛出异常。
返回的迭代器的复制构造或赋值也保证永远不会抛出。