《C++ Primer》--学习10

反向迭代器

 

反向迭代器就是在容器中从尾元素向首元素反向移动的迭代器,递增一个反向迭代器会移动到前一个元素

反向迭代器需要递减运算符

我们只能从既支持++也支持--的迭代器来定义反向迭代器,除了 forward_list 外的标准容器都支持

流迭代器不支持递减运算,因此,不可能从一个 forward_list 或一个流迭代器创建反向迭代器

反向迭代器和其他迭代器间的关系

直接使用反向迭代器会向着流的前端移动,要是想让他向后就需要转换一下,转换为普通的迭代器

泛型算法结构

任何算法的最基本的特性是它要求其迭代器提供哪些操作

算法所要求的迭代器操作可以分为5个迭代器类别

 5 类迭代器

 算法形参模式

大多数算法具有如下4种形式:

 其中 alg 是算法的名字,beg 和 end 表示算法所操作的输入范围。dest,beg2 和 end2 ,都是迭代器参数,如果用到了这些迭代器参数,它们分别承担指定目的位置和第二个范围的角色。除了这些迭代器参数,一些算法还接受额外的,非迭代器的特定参数

接受单个目标迭代器的算法

dest 参数是一个表示算法可以写入的目的位置的迭代器。算法假定:按其需要写入数据,不管写入多少个元素都是安全的

接受第二个输入序列的算法

算法命名规范

一些算法使用重载形式传递一个谓词

 _if 版本的算法

 区分拷贝元素的版本和不拷贝的版本

默认情况下,重排元素的算法将重排后的元素写回给定的输入序列中。这张算法提供了另一个版本,将元素写到一个指定的输出目的位置。写到额外的目的空间的算法都在名字后面附加了一个_copy 

 特定容器算法

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React教程(由浅到深)

文章目录 1. 基本语法1.1 初体验Hello React1.2 JSX语法的基本使用1.2.1 语句与表达式说明 1.3. React面向组件编程1.3.1 函数组件与类组件 1.4 组件实例的三大特性1.4.1 state数据存储状态1.4.2 props的使用1.4.2.1基本使用1.4.2.2 做限制类型,默认值使用1.4.2.3 简…

Gitlab 访问令牌更新 替换

引言 访问令牌到期后如何丝滑更换,或则如何更改账户的访问令牌实现权限变动呢?在我们使用访问令牌克隆项目之后,Windows凭据就帮我们记录下了密码。当然密码是不可见的,只能进行删除重新设置,通过凭据管理器进行更改。…

Spring Boot 中的 WebSocketMessageBrokerConfigurer

Spring Boot 中的 WebSocketMessageBrokerConfigurer 在现代 Web 应用程序中,WebSocket 已成为一种流行的通信协议,它允许客户端和服务器之间实时双向通信。在 Spring Boot 中,我们可以使用 WebSocketMessageBrokerConfigurer 接口来配置 We…

高考考了657分想重新复读一年,又害怕白费一年

高考考了657分想重新复读一年,又害怕白费一年。 如果你想重新复读一年,可能需要考虑到以下几点: 复读的代价:复读需要花费一年的时间和精力,而且这个过程中你可能会面临很多挑战和压力,包括学习上的、生活上…

系统架构设计师 6:数据库设计

一、数据库系统 数据库系统(DataBase System, DBS)是一个采用了数据库技术,有组织地、动态地存储大量相关联数据,从而方便多用户访问的计算机系统。广义上讲,DBS包括了数据库管理系统(DBMS)。 …

UE5 MetaHuman SDK插件的使用【二、聊天机器人】

目录 制作: 流程制作【相对复杂但逻辑清楚】: 快速制作【有个函数把上面的流程全部合在了一起,只需要用一个函数即可】 3个结构体的参数 combo后面的逻辑: 效果: ​编辑 代码 在前面的文章中,我们创…

智能饮品机器人的市场现状与前景未来,点赋科技与您共同期待

引言: 近年来,智能饮品机器人行业迅猛发展,成为引人瞩目的新兴市场。然而,这个行业的市场现状到底如何?它的前景又将如何发展?让点赋科技带大家一起来看看。 市场现状: 智能饮品机器人市场在过去…

微服务 springcloud 11 sleuth 链路跟踪,sleuth + zipkin 链路分析

随着系统规模越来越大,微服务之间调用关系变得错综复杂,一条调用链路中可能调用多个微服务,任何一个微服务不可用都可能造整个调用过程失败 spring cloud sleuth 可以跟踪调用链路,分析链路中每个节点的执行情况 01.微服务中添加 …

Spring Boot 中的 Spring Cloud Hystrix:原理和使用

Spring Boot 中的 Spring Cloud Hystrix:原理和使用 什么是 Spring Cloud Hystrix? Spring Cloud Hystrix 是一个用于处理分布式系统中故障的库。它实现了熔断器模式,可以防止由于故障服务的连锁反应而导致整个系统崩溃。Spring Cloud Hyst…

【状态估计】基于卡尔曼滤波器和扩展卡尔曼滤波器用于 INS/GNSS 导航、目标跟踪和地形参考导航研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

手搓GPT系列之 - 通过理解LSTM的反向传播过程,理解LSTM解决梯度消失的原理 - 逐条解释LSTM创始论文全部推导公式,配超多图帮助理解(下篇)

本文承接上篇上篇在此和中篇中篇在此,继续就Sepp Hochreiter 1997年的开山大作 Long Short-term Memory 中APPENDIX A.1和A.2所载的数学推导过程进行详细解读。希望可以帮助大家理解了这个推导过程,进而能顺利理解为什么那几个门的设置可以解决RNN里的梯…

spring cloud 之 gateway

网关介绍 在微服务架构体系中,一个系统会被拆分为很多个微服务,那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别调用,当然这样是不现实的…