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]====\n", *std::prev(it), *it, *std::next(it)); } } int main() { test(); getchar(); return 0; }