std::
deque::rend
公众成员函数 <deque>
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容器的所有元素(以相反的顺序)。
☲ 参数
-
none
☉ 返回值
返回指向双端队列开始元素之前的理论元素的反向迭代器
如果deque对象是const限定的,则函数返回一个const_reverse_iterator对象。
否则,它将返回一个reverse_iterator。
成员类型reverse_iterator和const_reverse_iterator是反向随机访问迭代器类型
(分别指向一个元素和一个const元素)。参见deque成员类型。
☣ 示例
// 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;
} |
输出:
5 4 3 2 1
✥ 复杂度
常量
☣ 迭代器的有效性
不变
⇄ 数据竞争
容器被访问(const和非const版本都不会修改容器)。
该调用不访问所包含的元素,但返回的迭代器可用于访问或修改元素。
同时访问或修改不同的元素是安全的。
☂ 异常安全性
No-throw保证:这个成员函数从不抛出异常。
返回迭代器的复制构造或赋值也保证不会引发抛出。
🍄 另请参阅
deque::front |
访问首元素(公众成员函数) |
deque::begin |
返回一个指向双端队列开头的迭代器 (公众成员函数) |
deque::rbegin |
返回指向双端队列最后一个元素的反向迭代器(公众成员函数) |
deque::end |
返回一个指向双端队列末尾元素的下一个元素的迭代器 (公众成员函数) |