您当前的位置: 首页 >  c++

RuiH.AI

暂无认证

  • 0浏览

    0关注

    274博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++学习 二十、STL(2)迭代器

RuiH.AI 发布时间:2022-03-14 16:16:30 ,浏览量:0

C++学习 二十、STL(2)迭代器
  • 前言
  • 迭代器
    • 定义迭代器
    • 迭代器功能

前言

本篇继续学习C++ STL的内容,迭代器。

迭代器

上篇提到,迭代器是一种用于访问和遍历容器内元素的数据类型,是指针的泛化。迭代器使得编程时,可以用同一种方法处理不同的容器。

定义迭代器

容器有自己的迭代器类型,创建迭代器的方法是 容器类型::迭代器类 迭代器名

迭代器类可分为:

  • iterator正向迭代器
  • const_iterator常量正向迭代器
  • reverse_iterator反向迭代器
  • const_reverse_iterator常量反向迭代器

正向迭代器的++操作是指向容器的后一个元素;反向迭代器的++操作时指向容器的前一个元素。

const_iterator可以指向const和非const容器,但指向的元素值是不能通过该迭代器修改的(类似常量指针)。

被声明为const的迭代器const xxx::iteratorconst_iterator不同,意思是迭代器的指向不能改变(类似指针常量)。

注意:反向迭代器可通过正向迭代器构造,也可通过rbegin(),rend()函数获得。

注意:反向迭代器指向的首元素是容器的最后一个元素,也就是说rbegin()指向最后一个元素;rend()指向第一个元素前一个元素的位置。

#include 
#include 
#include 
#include 
#include 

using namespace std;

int main(){
    vector vec(5);
    vector::reverse_iterator iter(vec.rend());
    iter--;
    *iter = 5;
    for(int i: vec)
        cout             
关注
打赏
1658651101
查看更多评论
0.0387s