public member function
<vector>

std::vector::rbegin

      reverse_iterator rbegin();const_reverse_iterator rbegin() const;
      reverse_iterator rbegin() noexcept;const_reverse_iterator rbegin() const noexcept;
返回指向反向开始位置的反向迭代器
返回指向vector中最后一个元素的反向迭代器(即其反向起始)。

反向迭代器 向后迭代:递增它们会使它们朝向容器的开头。

rbegin指向end成员所指向元素的前一个元素。

请注意,与返回对同一元素引用的vector::back成员不同,此函数返回一个反向随机访问迭代器

参数



返回值

指向序列容器反向起始的反向迭代器。

如果vector对象被const限定,则函数返回一个const_reverse_iterator。否则,它返回一个reverse_iterator.

成员类型reverse_iteratorconst_reverse_iterator是反向随机访问迭代器类型(分别指向元素和指向const元素)。请参阅vector成员类型

示例

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

int main ()
{
  std::vector<int> myvector (5);  // 5 default-constructed ints

  int i=0;

  std::vector<int>::reverse_iterator rit = myvector.rbegin();
  for (; rit!= myvector.rend(); ++rit)
    *rit = ++i;

  std::cout << "myvector contains:";
  for (std::vector<int>::iterator it = myvector.begin(); it != myvector.end(); ++it)
    std::cout << ' ' << *it;
  std::cout << '\n';

  return 0;
}

输出
myvector contains: 5 4 3 2 1


复杂度

常量。

迭代器有效性

没有变化。

数据竞争

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

异常安全

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

另见