当前位置: 首页 > news >正文

迭代器 iterator

一、什么是 iterator?

C++中,iterator也被称为迭代器,其主要作用就是指向并访问容器中的元素,其像指针但不是指针

PS:

  • begin()函数返回一个指向容器第一个元素的迭代器;end()函数返回一个指向容器最后一个元素之后位置的迭代器,它是一个不存在的元素位置。

  • STL中的 begin 和 end 定义的是一个半开放区间**[begin, end)**,end 并不指向容器中的元素,而是指向最后一个元素的后一个位置。

二、迭代器

正向迭代器和反向迭代器

2.1 正向迭代器

iterator begin() end()

#include <iostream>
using namespace std;
#include <string>int main()
{string s1("hello world");string::iterator it = s1.begin();// 指向第一个字符while (it != s1.end()){cout << *it << " ";}cout << endl;return 0;
}

补充:

2.2 反向迭代器

reverse_iterator rbegin() rend()

int main()
{string s1("hello world");string::reverse_iterator it = s1.rbegin();// 指向最后一个字符while (it != s1.rend()){cout << *it << " ";it++;}cout << endl;return 0;
}

相关文章:

  • 连接器信号完整性仿真教程 九
  • Linux Spug自动化运维平台本地部署与公网远程访问
  • vector是如何扩容的
  • flutter 自定义TabBar 【top 0 级别】
  • Selector SelectionKey基础学习
  • 【Excel/Matlab】绘x-y图并求切线和截距(详细图解)
  • C# IList 与List区别二叉树的层序遍历
  • C语言实现ARM MCU SWD离线调试器
  • cesium 融合视频
  • [Ubuntu 18.04] RK3399搭建SSH服务实现远程访问
  • 六、ZooKeeper Java API操作
  • KaiwuDB 多模数据库-时序性能优化
  • 【Matlab】如何快速入门一项新技能-以Matlab/Simulink入门为例
  • R语言中的机器学习
  • 15.oracle的 listagg() WITHIN GROUP () 行转列函数使用
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • Codepen 每日精选(2018-3-25)
  • Js基础知识(一) - 变量
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Spark学习笔记之相关记录
  • SQLServer之创建数据库快照
  • STAR法则
  • 模型微调
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 想写好前端,先练好内功
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • # centos7下FFmpeg环境部署记录
  • ###STL(标准模板库)
  • #include<初见C语言之指针(5)>
  • (6)设计一个TimeMap
  • (C语言)fgets与fputs函数详解
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (简单) HDU 2612 Find a way,BFS。
  • (九)信息融合方式简介
  • (蓝桥杯每日一题)love
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)大型网站的系统架构
  • (转载)利用webkit抓取动态网页和链接
  • .NET Core 中的路径问题
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • @Autowired注解的实现原理
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [2021 蓝帽杯] One Pointer PHP
  • [Android]RecyclerView添加HeaderView出现宽度问题
  • [Angular] 笔记 21:@ViewChild
  • [BPU部署教程] 教你搞定YOLOV5部署 (版本: 6.2)
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)
  • [C++]C++基础知识概述
  • [C++基础]-入门知识
  • [CF703D]Mishka and Interesting sum/[BZOJ5476]位运算
  • [HeMIM]Cl,[AeMIM]Br,[CeEIM]Cl,([HO-PECH-MIM]Cl,[HOOC-PECH-MIM]Cl改性酚醛树脂
  • [IE编程] IE8的SDK 下载