C++ Iterator Library - distance



Description

It calculates the number of elements between first and last.

Declaration

Following is the declaration for std::distance.

C++11

template<class InputIterator>
  typename iterator_traits<InputIterator>::difference_type
    distance (InputIterator first, InputIterator last);

Parameters

  • first − It is an initial element of iterator.

  • last − It is the final element of iterator.

Return value

It returns the number of elements between first and last.

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

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

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

   std::list<int>::iterator first = mylist.begin();
   std::list<int>::iterator last = mylist.end();

   std::cout << "The distance between first and last is: " << std::distance(first,last) << '\n';

   return 0;
}

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

The distance between first and last is: 5
iterator.htm
Advertisements