C++ Iterator Library - next



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::next.

C++11

template <class ForwardIterator>
  ForwardIterator next (ForwardIterator it,
       typename iterator_traits<ForwardIterator>::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::next.

#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 << "mylist:";
   std::for_each (mylist.begin(),
                  std::next(mylist.begin(),4),
                  [](int x) {std::cout << ' ' << x;} );

   std::cout << '\n';

   return 0;
}

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

mylist: 0 1 2 3
iterator.htm
Advertisements