C++ 迭代器库 - 下一个


描述

它返回一个迭代器,该迭代器指向如果前进 n 个位置它将指向的元素。

宣言

以下是 std::next 的声明。

C++11

template <class ForwardIterator>
  ForwardIterator next (ForwardIterator it,
       typename iterator_traits<ForwardIterator>::difference_type n = 1);

参数

  • it - 它是迭代器中的基位置。

  • n - 表示职位数量。

返回值

它返回一个指向其之前 n 个位置的元素的迭代器。

例外情况

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

时间复杂度

随机访问迭代器的常量。

例子

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

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

mylist: 0 1 2 3
迭代器.htm