公有成员函数
<iterator>

std::reverse_iterator::operator+=

reverse_iterator& operator+= (difference_type n);
前进迭代器
reverse_iterator 推进 n 个元素位置。

在内部,该函数会减少对象所保持的基迭代器(如同对其应用 operator-=)。

请注意,此函数要求*基迭代器*是*随机访问迭代器*。

参数

n
偏移的元素数量。
成员类型 difference_type基迭代器自身差值类型的别名。

返回值

反向迭代器本身 (*this)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// reverse_iterator::operator+= example
#include <iostream>     // std::cout
#include <iterator>     // std::reverse_iterator
#include <vector>       // std::vector

int main () {
  std::vector<int> myvector;
  for (int i=0; i<10; i++) myvector.push_back(i);	// myvector: 0 1 2 3 4 5 6 7 8 9

  typedef std::vector<int>::iterator iter_type;

  std::reverse_iterator<iter_type> rev_iterator = myvector.rbegin();

  rev_iterator += 2;

  std::cout << "The third element from the end is: " << *rev_iterator << '\n';

  return 0;
}

输出

The third element from the end is: 7


数据竞争

修改对象。
返回的迭代器可用于访问或修改指向的元素。

异常安全

提供与减少基迭代器相同的保证级别。

另见