C++官网参考链接:https://cplusplus.com/reference/deque/deque/rend/
公有成员函数
<deque>
std::deque::rend
C++98
reverse_iterator rend();
const_reverse_iterator rend() const;
C++11
reverse_iterator rend() noexcept;
const_reverse_iterator rend() const noexcept;
返回指向反向结束的反向迭代器
返回一个反向迭代器,指向deque容器中第一个元素之前的理论元素(被认为是它的反向结束)。
deque::rbegin和deque::rend之间的范围包含了deque容器的所有元素(以相反的顺序)。
形参
没有形参。
返回值
指向顺序容器反向结束的反向迭代器。
如果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版本都不会修改容器)。
调用不访问包含的元素,但返回的迭代器可用于访问或修改元素。同时访问或修改不同的元素是安全的。
异常安全
无抛出保证:该成员函数从不抛出异常。
返回的迭代器的复制构造或赋值也保证永远不会抛出。