码迷,mamicode.com
首页 > 其他好文 > 详细

STL 2—迭代器相关运算——advance(),distance(),next(),prev()

时间:2018-11-10 12:36:51      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:das   移动   \n   返回   div   color   style   ext   distance   

迭代器的头文件中定义了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<<"------\n";
    auto iter2 = begin(data);
    // next(iter1,n)将iter1向右偏移n个位置
    auto foiurth = next(iter2,3);
    cout<<"------";
    cout << *iter2 << "\n" << *foiurth<<endl;
    auto iter3 = end(data);
    cout<<"------";
    cout << *prev(iter3,3)<<endl;
    return 0;
}

STL 2—迭代器相关运算——advance(),distance(),next(),prev()

标签:das   移动   \n   返回   div   color   style   ext   distance   

原文地址:https://www.cnblogs.com/tingweichen/p/9938523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!