C++ 迭代器库 - 高级


描述

它将迭代器 it 推进了 n 个元素位置。

宣言

以下是 std::advance 的声明。

C++11

template <class InputIterator, class Distance>
  void advance (InputIterator& it, Distance n);

参数

  • it - 提前使用的迭代器。

  • n - 迭代器中要前进的位置数。

返回值

没有任何

例外情况

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

时间复杂度

随机访问迭代器的常量。

例子

以下示例显示了 std::advance 的用法。

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

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

   std::list<int>::iterator it = mylist.begin();

   std::advance (it,9);

   std::cout << "The 9th element in mylist is: " << *it << '\n';

   return 0;
}

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

The 9th element in mylist is: 90
迭代器.htm