public member function
<list>

std::list::rend

      reverse_iterator rend();const_reverse_iterator rend() const;
      reverse_iterator rend() nothrow;const_reverse_iterator rend() const nothrow;
返回指向反向末尾的反向迭代器
返回一个指向 list 容器第一个元素之前那个理论上的元素的反向迭代器(它被认为是其反向尾部)。

list::rbegin 和list::rend之间的范围包含容器中的所有元素(按反向顺序)。

参数



返回值

指向序列容器反向尾部的反向迭代器。

如果 list 对象是 const-qualified,则函数返回一个const_reverse_iterator。否则,它返回一个reverse_iterator.

成员类型reverse_iteratorconst_reverse_iterator是反向的双向迭代器类型(分别指向一个元素和一个 const 元素)。请参阅list 成员类型

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// list::rbegin/rend
#include <iostream>
#include <list>

int main ()
{
  std::list<int> mylist;
  for (int i=1; i<=5; ++i) mylist.push_back(i);

  std::cout << "mylist backwards:";
  for (std::list<int>::reverse_iterator rit=mylist.rbegin(); rit!=mylist.rend(); ++rit)
    std::cout << ' ' << *rit;

  std::cout << '\n';

  return 0;
}

输出
mylist backwards: 5 4 3 2 1


复杂度

常量。

迭代器有效性

没有变化。

数据竞争

访问容器(const 和非 const 版本都不会修改容器)。
调用该函数不访问任何包含的元素,但返回的迭代器可用于访问或修改元素。并发访问或修改不同元素是安全的。

异常安全

无异常保证:此成员函数从不抛出异常。
还可以保证返回的迭代器的复制构造或赋值永远不会引发异常。

另见