在线文档教程
C++
迭代器 | Iterator

std::next

STD:下一个

Defined in header
template< class ForwardIt > ForwardIt next( ForwardIt it, typename std::iterator_traits<ForwardIt>::difference_type n = 1 (since C++11) (until C++17)
template< class InputIt > constexpr InputIt next( InputIt it, typename std::iterator_traits<InputIt>::difference_type n = 1 (since C++17)

返回n迭代器的第四后继it...

参数

it-an iterator
n-number of elements to advance

类型要求

---。

-输入必须符合输入器的要求。

返回值

n迭代器的第四后继it...

可能的实施

模板<class ForwardIt>向前看,下一个%28前进,输入名称std::iterator[医]性状<ForwardIt>*差异[医]类型n=1%29{std::前进%28 it,n%29;返回它;}

*。

注记

虽然表达++c.begin()通常情况下,无法保证这样做:c.begin()是一个rvalue表达式,并且没有BidirectionalIterator要求指定rvalue的增量可以保证工作。特别是,当迭代器被实现为指针时,++c.begin()不编译,而std::next(c.begin())是的。

二次

#include <iostream> #include <iterator> #include <vector> int main() { std::vector<int> v{ 3, 1, 4 }; auto it = v.begin( auto nx = std::next(it, 2 std::cout << *it << ' ' << *nx << '\n'; }

二次

产出:

二次

3 4

二次

另见

prev (C++11)decrement an iterator (function)
advanceadvances an iterator by given distance (function)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/iterator/Next