A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.com/reference/iterator/reverse_iterator/operator--/ below:

public member function

<iterator>

std::reverse_iterator::operator--
reverse_iterator& operator--();reverse_iterator  operator--(int);

Decrease iterator position

Decreases the reverse_iterator by one position.

Internally, the pre-decrement version (1) increments the base iterator kept by the object (as if applying operator++ to it).

The post-decrement version (2) is implemented with a behavior equivalent to:


1
2
3
4
5
reverse_iterator operator--(int) {
  reverse_iterator temp = *this;
  --(*this);
  return temp;
}

Parameters none (the second version overloads the post-decrement operator).

Return value The pre-decrement version (1) returns *this.
The post-decrement version (2) returns the value *this had before the call.

Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 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);

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

  std::reverse_iterator<iter_type> rev_begin (myvector.end());
  std::reverse_iterator<iter_type> rev_end (myvector.begin());

  std::reverse_iterator<iter_type> rev_iterator = rev_begin;
  while ( rev_iterator != rev_end )
    std::cout << *rev_iterator++ << ' ';
  std::cout << '\n';

  while ( rev_iterator != rev_begin )
    std::cout << *(--rev_iterator) << ' ';
  std::cout << '\n';

  return 0;
}

Output:
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9


Data races Modifies the object.
The iterator returned can be used to access or modify pointed elements.

Exception safety Provides the same level of guarantee as increasing (and copying, for (2)) the base iterator.

See also
reverse_iterator::operator++
Increment iterator position (public member function)
reverse_iterator::operator-=
Retrocede iterator (public member function)

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4