C++ 迭代器库 - 距离


描述

它计算第一个和最后一个之间的元素数量。

宣言

以下是 std::distance 的声明。

C++11

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

参数

  • first - 它是迭代器的初始元素。

  • 最后- 它是迭代器的最后一个元素。

返回值

它返回第一个和最后一个之间的元素数。

例外情况

如果对迭代器执行的任何算术运算都会抛出异常。

时间复杂度

随机访问迭代器的常量。

例子

以下示例显示了 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;
}

让我们编译并运行上面的程序,这将产生以下结果 -

The distance between first and last is: 5
迭代器.htm