Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Subtracts a specified offset from a reverse_iterator.
reverse_iterator<RandomIterator>& operator-=(
   difference_type _Off
);
Parameters
- _Off
 The offset to be subtracted from the reverse_iterator.
Remarks
This member function may only be used if the reverse_iterator satisfies the requirements for a random-access iterator.
The operator evaluates current + _Off. then returns *this.
Example
// reverse_iterator_op_suboff.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>
int main( )
{
   using namespace std;
   int i;
   vector<int> vec;
   for (i = 1 ; i < 6 ; ++i )
   {
      vec.push_back ( 3 * i );
   }
   
   vector <int>::iterator vIter;
   cout << "The vector vec is: ( ";
   for ( vIter = vec.begin( ) ; vIter != vec.end( ); vIter+)
      cout << *vIter << " ";
   cout << ")." << endl;
   vector <int>::reverse_iterator rvIter;
   cout << "The vector vec reversed is: ( ";
   for ( rvIter = vec.rbegin( ) ; rvIter != vec.rend( ); rvIter+)
      cout << *rvIter << " ";
   cout << ")." << endl;
   // Initializing reverse_iterators to the first element
   vector <int>::reverse_iterator rVPOS1 = vec.rend ( ) - 1;
   
   cout << "The iterator rVPOS1 initially points to the last "
        << "element\n in the reversed sequence: "
        << *rVPOS1 << "." << endl;
   rVPOS1-=2;      // Subtraction of an offset
   cout << "After the -2 offset, the iterator rVPOS1 now points\n"
        << " to the 2nd element from the last in the reversed sequence: "
        << *rVPOS1 << "." << endl;
}
The vector vec is: ( 3 6 9 12 15 ). The vector vec reversed is: ( 15 12 9 6 3 ). The iterator rVPOS1 initially points to the last element in the reversed sequence: 3. After the -2 offset, the iterator rVPOS1 now points to the 2nd element from the last in the reversed sequence: 9.
Requirements
Header: <iterator>
Namespace: std