【C++】STL容器——探究不同 [ 迭代器 ] 种类&在STL中的使用方式(15)

前言

大家好吖,欢迎来到 YY 滴C++系列 ,热烈欢迎! 本章主要内容面向接触过C++的老铁
主要内容含:
在这里插入图片描述

欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!

目录

  • 引言:
  • 一.查看STL使用文档时发现"迭代器分为许多种类"
  • 二.容器与不同迭代器的关系
  • 三.容器在使用含迭代器参数相关函数时的注意点

引言:

在C++系列P15中,我们发现sort函数的迭代器参数出现了[RandomAccessIterator]这是什么呢?让我们继续来探讨吧~
在这里插入图片描述

一.查看STL使用文档时发现"迭代器分为许多种类"

如下文图所示:
在这里插入图片描述

二.容器与不同迭代器的关系

  • 不难发现,其实迭代器分为许多种类,不同种类的迭代器由容器的底层结构决定,查阅资料后发现大概能分为以下三类:
迭代器种类说明
单向(input)forward_list/unordered_xxx
双向(bidirectional)list/map/set
随机(random)vector/string/deque
  • 下面是我们查阅文档所得的资料:
    在这里插入图片描述

三.容器在使用含迭代器参数相关函数时的注意点

  • 根据迭代器种类来说:单向是双向的一种特殊情况,双向是随机的一种特殊情况
  • 所以总体迭代器兼容程度是【随机>双向>单向】在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/108015.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网站不被谷歌收录的常见原因及解决办法

现如今的互联网中,流量获取的渠道多种多样,但对于独立站而言,Google仍然是一个重要的流量来源。这是因为Google拥有庞大的用户基础,通过Google可以让潜在用户更容易发现我们的网站。然而,现实情况是,一些网…

OSPF,RIP和BGP的路由汇总

OSPF路由汇总 OSPF的路由汇总需要注意以下两点 1.OSPF的路由汇总仅支持手动汇总 注:距离矢量路由协议支持自动路由汇总,链路状态路由协议仅支持手动路由汇总(OSPF,ISIS) 2.OSPF的路由汇总只在区域边界进行汇总 OSPF的路由汇总…

Linux系统下DHCP服务安装部署和使用实例详解(蜜罐)

目录 一、概述 二、具体配置如下: 一、概述 DHCP :动态主机设置协议(英语:Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途&…

虚幻中的网络概述一

前置:在学习完turbo强大佬的多人fps之后发觉自己在虚幻网络方面还有许多基础知识不太清楚,结合安宁Ken大佬与虚幻官方文档进行补足。 补充:官方文档中的描述挺好的,自己只算是搬运和将两者结合加强理解。 学习虚幻中的网络先从虚…

RabbitMQ如何保证消息不丢失呢?

RabbitMQ 是一个流行的消息队列系统,用于在分布式应用程序之间传递消息。要确保消息不会丢失,可以采取以下一些措施: 持久化消息: RabbitMQ 允许你将消息标记为持久化的。这意味着消息将被写入磁盘,即使 RabbitMQ 服务…

JavaScrip的DOM接口

JavaScript的DOM(Document Object Model)是一种接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM是一种将HTML或XML文档表示为对象树的标准方式。 在JavaScript中,DOM提供了一种方式来操作HTML或XML文档的元素…

【BUG】Nginx转发失败解决方案

最近在做项目的时候出现了一个问题,琢磨了好久,来浅浅记录一下。 这个项目后端使用的是gateway网关和nacos实现动态的路由,前端使用nginx来管理前端资源,大体流程:浏览器发起请求,经过nginx代理&#xff0c…

Redis -- 基础知识3 数据类型及指令

FLUSHALL:清空所有键值对操作(最好别搞,删库要被绳之以法的) 1.string类型 1.介绍 1.redis的字符串,直接按照二进制进行存储,所以可以存储任何数据,取出时不需要转码 2.redis的string类型,限制大小最大为512M,因为为单线程模型为了操作短平快 2.操作 1.set与get set key value …

软考系列(系统架构师)- 2010年系统架构师软考案例分析考点

试题一 软件系统架构选择 【问题1】(7分) 在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。 软件架构风…

MySQL——九、SQL编程

MySQL 一、触发器1、触发器简介2、创建触发器3、一些常见示例 二、存储过程1、什么是存储过程或者函数2、优点3、存储过程创建与调用 三、存储函数1、存储函数创建和调用2、修改存储函数3、删除存储函数 四、游标1、声明游标2、打开游标3、使用游标4、关闭游标游标案例 一、触发…

linux-vsftp虚拟多用户

目录 1.安装vsftp 2.安装DB工具,能转化普通文件为vsftpd识别数据库加密文件 3.创建登录虚拟用户的名单 4.加密文件 6.需要修改vsftpd的配置文件 7.修改vsftp的配置文件,加载支持虚拟用户模式 8.针对不同用户开启不同权限 9.重启服务 10.测试 安…

Winsows QT5.15安装教程——组件务必要选上Sources

文章目录 1 下载地址2 开始安装2.1 选择一个磁盘空间大的位置安装QT,安装完可能会占用30G以上的空间2.2 选择组件2.3 接下来进入傻瓜式安装 3 QT 组件一览3.1 “Preview”分类下的开发组件3.1.1 编译器模块。3.1.2 “Qt ”分类下的开发组件 1 下载地址 https://www…

pytorch 笔记:KLDivLoss

1 介绍 对于具有相同形状的张量 ypred​ 和 ytrue(ypred​ 是输入,ytrue​ 是目标),定义逐点KL散度为: 为了在计算时避免下溢问题,此KLDivLoss期望输入在对数空间中。如果log_targetTrue,则目标…

【Linux】Linux+Nginx部署项目

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Linux的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.单体项目的部署 0.我们需要将要进行部…

Notepad++安装插件和配置快捷键

Notepad是一款轻量级、开源的文件编辑工具,可以编辑、浏览文本文件、二进制文件、.cpp、.java、*.cs等文件。Notepad每隔1个月,就有一个新版本,其官网是: https://github.com/notepad-plus-plus/notepad-plus-plus。这里介绍其插件…

10分钟了解JWT令牌 (JSON Web)

10分钟了解JSON Web令牌(JWT) JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。今天给大家介绍JWT的原理和用法。 1.跨域身份验证 Internet服务无法与用户身份验证分开。一般过程如下。 1.用户向服务器发送用户名和密码。…

C++系列之list的模拟实现

💗 💗 博客:小怡同学 💗 💗 个人简介:编程小萌新 💗 💗 如果博客对大家有用的话,请点赞关注再收藏 🌞 list的节点类 template struct list_Node { public: list_Node* _prev; list_…

构建自动化测试环境:使用Docker和Selenium!

随着软件开发的日益复杂和迭代速度的加快,自动化测试被越来越广泛地应用于软件开发流程中。它能够提高测试效率、减少测试成本,并保证软件质量的稳定性。在构建自动化测试环境方面,Docker 和 Selenium 是两个非常有用的工具。下面将介绍如何使…

JDK21下载和安装

说明 本文介绍 JDK21(Oracle版)的下载和安装。 下载 Oracle官网JDK21下载页面 根据操作系统的类型,下载相应的版本。本文下载的是Windows64位的安装版。 下载页面示例 安装包示例 安装 双击安装包,开始安装。 把路径改为自定…

Linux操作系统的基础IO

目录 系统文件IOopen函数0 & 1 & 2文件描述符的分配规则重定向输入重定向输出重定向追加重定向dup2 FILE 文件系统inode 软硬链接软链接硬链接 动态库和静态库动静态库的命名方式静态库制作一个库使用库 动态库制作一个库使用库 系统文件IO open函数 int open(const …