distance函数的用法

function template

std::distance

template
  typename iterator_traits::difference_type
    distance (InputIterator first, InputIterator last);
Return distance between iterators
Calculates the number of elements between first and last.

If it is a random-access iterator, the function uses operator- to calculate this. Otherwise, the function uses the increase operator ( operator++) repeatedly.

Parameters

first
Iterator pointing to the initial element.
last
Iterator pointing to the final element. This must be reachable from first.
InputIterator shall be at least an input iterator.

Return value

The number of elements between first and last.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// advance example
#include      // std::cout
#include      // std::distance
#include          // std::list

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

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

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

  return 0;
}



Output:
The distance is: 10

你可能感兴趣的:(C/C++小知识集锦)