STL 2—迭代器相关运算——advance(),distance(),next(),prev()
Posted tingweichen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL 2—迭代器相关运算——advance(),distance(),next(),prev()相关的知识,希望对你有一定的参考价值。
迭代器的头文件中定义了4个实现迭代器模板的函数模板.
1、advance(iterator,num):将迭代器iterator 移动了num个位置
2、distance(iterator1,iterator2):返回两个迭代器之间的元素的个数
3、next(iterator,n):将iterator正向偏移n之后所指向位置的一个迭代器
4、prev(iterator,n):返回iterator反向偏移n之后的所指向的一个迭代器
#include <numeric> #include <iterator> using namespace std; int main(){ int data[] {1,2,3,4,5,6,7,8}; auto iter1 = begin(data); // 将iter1移动3个位置 advance(iter1,3); cout<<*iter1<<endl; cout<<"------"; //distance(iter1,iter2);返回iter1和iter2之间的元素个数 cout<<distance(begin(data),end(data)); cout<<"------ "; auto iter2 = begin(data); // next(iter1,n)将iter1向右偏移n个位置 auto foiurth = next(iter2,3); cout<<"------"; cout << *iter2 << " " << *foiurth<<endl; auto iter3 = end(data); cout<<"------"; cout << *prev(iter3,3)<<endl; return 0;
}
以上是关于STL 2—迭代器相关运算——advance(),distance(),next(),prev()的主要内容,如果未能解决你的问题,请参考以下文章