C++ Iterator Library - prev



Description

It returns an iterator pointing to the element that it would be pointing to if advanced -n positions.

Declaration

Following is the declaration for std::prev.

C++11

template <class BidirectionalIterator>
  BidirectionalIterator prev (BidirectionalIterator it,
       typename iterator_traits<BidirectionalIterator>::difference_type n = 1);

Parameters

  • it − It is a base postion in iterator.

  • n − It indicates about number of postion.

Return value

It returned an iterator to the element n positions before it.

Exceptions

If any of the arithmetical operations performed on the iterator throws.

Time complexity

constant for random-access iterators.

Example

The following example shows the usage of std::prev.

#include <iostream>     
#include <iterator>     
#include <list>         
#include <algorithm>    

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

   std::cout << "The last element is " << *std::prev(mylist.begin()) << '\n';

   return 0;
}

Let us compile and run the above program, this will produce the following result −

The last element is 10
iterator.htm
Advertisements