Sword STL迭代器prev,next相关函数
Posted zhanggaofeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sword STL迭代器prev,next相关函数相关的知识,希望对你有一定的参考价值。
迭代器的头文件中定义了4个实现迭代器模板的函数模板. 1、advance(iterator,num):将迭代器iterator 移动了num个位置 2、distance(iterator1,iterator2):返回两个迭代器之间的元素的个数 3、next(iterator,n):将iterator正向偏移n之后所指向位置的一个迭代器 4、prev(iterator,n):返回iterator反向偏移n之后的所指向的一个迭代器
#include <iostream> #include <vector> #include <iterator> /*prev() next() 方法头文件*/ void test() { std::vector<int> v1; std::vector<int>::iterator it; v1.push_back(1); v1.push_back(2); v1.push_back(3); v1.push_back(4); v1.push_back(5); v1.push_back(6); v1.push_back(7); v1.push_back(8); v1.push_back(9); v1.push_back(10); for (it = v1.begin(); it != v1.end(); ++it) { //排除第一个 if (it == v1.begin()) { continue; } //排除倒数第二个 if (std::next(it) == v1.end()) { break; } printf("=prev[%d]===current[%d]===end[%d]==== ", *std::prev(it), *it, *std::next(it)); } } int main() { test(); getchar(); return 0; }
以上是关于Sword STL迭代器prev,next相关函数的主要内容,如果未能解决你的问题,请参考以下文章
C++:多集迭代器中 next() 和 prev() 的运行时间?
[OI - STL] next_permutation( ) & prev_permutation( )函数