浅谈STL——适配器

news2025/1/19 19:34:06

一、适配器(Adapters)

它是一种设计模式,为STL中能够将一个类的接口转化为用户更加想要使用的接口,适配器就扮演者轴承、转换器的功能

就是一个wrapper的模式,将要修饰的接口进行二次包装,展露出可以更容易让用户接受的接口方式。

适配器分为容器适配器、迭代器适配器、函数适配器。

二、容器适配器(Contioner Adapter)

诸如stack、queue把它们成为容器相较于容器适配器来说,显得我们更加业余。

我们将它们成为容器适配器

stack、queue本质是基于deque(一种双端队列)来进行封装

三、迭代器适配器(Iterator Adapter)

在对list接口的模拟实现时,不断地发现了迭代器的本质就是指针(stack、queue)或者是对指针的进一步封装(list)。正向迭代器与反向迭代器的类的封装直接证实关于迭代器作为一种适配器来作为模板参数进行传递的特性。

再反向迭代器的实现时,正是以正向迭代器为基础,对正向迭代器的接口进行了封装,减少了代码书写,下方的模板参数中的Iterator最终就转化为正向迭代器的类型。

template<class Iterator>
	class Reverse_Iterator
	{
		typename typedef Iterator::Ptr Ptr;
		typename typedef Iterator::Ref Ref;
		typedef Reverse_Iterator<Iterator> self;
	public:
		Reverse_Iterator(Iterator it)
			: _it(it)
		{}
        Iterator _it;
    };

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

紧急事故的流程管理

嵌套式职责分离 在事故处理中&#xff0c;让&#xff1a;每个人清楚自己的职责是非常重要的。有点反直觉的是&#xff0c;明嘶职费反而能够使每个人可以更独立自主地解决问题&#xff0c;因为他们不用怀疑和担心他们的同事都在干什么。 如果一个人目前要处理的事情大多了&…

[TPAMI 2022] 用深度神经网络解决欠定问题——考虑鲁棒性?

Solving Inverse Problems With Deep Neural Networks – Robustness Included?https://ieeexplore.ieee.org/abstract/document/9705105摘要在过去的五年中&#xff0c;深度学习方法已经成为解决各种反问题的最先进方法。在此类方法可以应用于安全关键领域之前&#xff0c;必…

2022年度总结和展望2023年

文章目录 前言 2022年的成就总结 2023年的行动目标 如何完成这些目标&#xff1f; 前言 从2018年更新CSDN第一篇的博文&#xff0c;我就和CSDN产生联系。当时想法很纯粹&#xff0c;就是将积累的知识写成文章&#xff0c;无论去到哪里都能查到&#xff0c;所以前面三年都是…

Python实现预测客户是否会购买房车险源码+数据集,基于伯努利朴素贝叶斯预测客户购买房车险源码,Python预测客户购买房车险

伯努利朴素贝叶斯预测客户购买房车险 根据2000年数据挑战赛保险公司的客户特征数据&#xff0c;预测客户是否会购买房车险。 使用伯努利朴素贝叶斯模型&#xff0c;我获得了更好的预测效果 完整代码下载地址&#xff1a;Python实现预测客户是否会购买房车险源码数据集 数据集…

中国化工发展的新态势

顺势而为的企业才可能有好的未来&#xff0c;在一年之初&#xff0c;回顾总结一下中国化工行业的发展态势&#xff0c;对企业认清形势&#xff0c;确定企业的行业发展方向和发展战略至关重要。 自2022年以来&#xff0c;中国快速增长的化工行业按收入计算一直是世界上最大的&am…

【Java、Redis】通过中心经纬度与半径获取范围内的结果集(类似附近的人)

文章目录需求解决方案什么是Redis GeoHashJava实现InitEquLongLatTask.javaControllerservicexml sql语句引用的pom依赖需求 通过百度地图的覆盖物功能&#xff0c;用户在页面上画圈选定某个区域&#xff0c;前端传输中心点经纬度与半径给后端&#xff0c;后端需要返回位置在圈…

表格存储 Tablestore 十年发展总结

作者&#xff1a;周赵锋 阿里云基础产品团队 ​表格存储Tablestore上线已有十年&#xff0c;随着业务规模变大&#xff0c;稳定性挑战也随之而来&#xff0c;需要不断优化架构来提升可用性。本文将为大家分享表格存储Tablestore在技术层面近年来的功能演进、技术架构演进以及稳…

与哈希函数有关的结构:布隆过滤器、一致性哈希

1、认识哈希函数 &#xff08;out f(in data)&#xff09; 输入参数in&#xff0c;其值域范围可以看作是无穷大的。输出函数out&#xff0c;其值域范围可能性很大&#xff0c;但是一定是有穷尽的哈希函数没有任何随机的机制&#xff0c;固定的输入一定是固定的输出输入无穷多但…

计算机基础——无处不网络

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.计算机网络概述 1.计算机网络发展史 二.计算机网络应用领域 三.计算机网…

基于YOLOv6m的接打电话检测识别分析系统

本身在实际项目开发应用中YOLO都是目标检测任务的绝对主力&#xff0c;从v3一直跟着到了v7&#xff0c;做了很多的项目&#xff0c;处理了很多的数据&#xff0c;当然了也积累了一些自己的成果和心得&#xff0c;这里主要是以不常用到的yolov6m系列的模型来开发构建接打电话行为…

python基础篇之函数

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a;lqj_本人的博客_CSDN博客-微信小程序,前端,vue领域博主lqj_本人擅长微信小程序,前端,vue,等方面的知识https://blog.csdn.net/lbcyllqj?spm1000.2115.3001.5343 哔哩哔哩欢迎关注&…

最简最速搭建grpc分布式服务的Mac系统开发环境

文章目录环境详情基本原理什么是 Protobuf工具安装环境搭建编写服务类的实现启动服务客户端测试环境详情 golang 1.18 macOS Big Sur protobuf 3 基本原理 整个RPC过程就是&#xff1a; 客户端 发送 数据&#xff08;以字节流的方式&#xff09;服务端接收&#xff0c;并…

Spring Boot 大型线上商城项目实战教程试学(文末视频版)

视频链接在文末 在学习一门技术的时候&#xff0c;相信很多开发者会在开源网站上寻找对应技术栈的开源项目&#xff0c;通过阅读源码&#xff0c;学习项目作者的开发思路、解决问题的方法&#xff0c;这一过程&#xff0c;对大多人来说没那么容易&#xff0c;要么一开始不知从…

共享模型之管程(八)

1.线程的活跃性 1>.定义: 线程内的有限代码因为某种原因一直无法执行完毕(/执行不完); 1.1.线程活跃性的现象-死锁 1>.有这样的情况&#xff1a;一个线程需要同时获取多把锁,这时就容易发生死锁; 2>.案例 ①.t1线程已经获得A对象锁,接下来想获取B对象的锁; ②.t2线…

Python和MySQL对比(4):用Pandas 实现MySQL的行列转换语法效果

文章目录一、前言二、语法对比数据表concat&#xff08;多列合并为一列&#xff09;group_concat&#xff08;多行合并为一行&#xff09;一列拆分为多列一行拆分为多行多行转为多列多列转为多行三、小结一、前言 环境&#xff1a; windows11 64位 Python3.9 MySQL8 pandas1.4.…

【Linux】make/Makefile的简单使用

人生的态度是&#xff0c;抱最大的希望&#xff0c;尽最大的努力&#xff0c;做最坏的打算。 – 柏拉图 《理想国》 目录一.Linux项目自动化构建工具-make/Makefile1.为什么需要使用make/Makefile2.简单理解make和Makefile3.如何编写Makefile文件3.1生成可执行程序&#xff1a…

智算中心掀落地热潮,加速AI普惠化

11日&#xff0c;国家信息中心与浪潮信息联合发布的《智能计算中心创新发展指南》显示&#xff0c;目前全国有超过30个城市正在建设或提出建设智算中心&#xff0c;“十四五”期间&#xff0c;对智算中心的投资可带动人工智能核心产业增长约2.9-3.4倍。 《科创板日报》记者注意…

python+人脸识别+opencv实现真实人脸驱动的阿凡达(中)

目录一、前言二、消除图片拼接缝隙三、基于一张图片正脸转侧脸的实现1、人体头部的二维成像知识2、用特征点驱动的方法实现侧脸2.1python核心代码三、后续工作一、前言 我们在上篇名叫python人脸识别opencv实现真实人脸驱动的阿凡达&#xff08;上博文里已经实现了基于三角映射…

教资报名啦 有问题欢迎评论区提问~

报考小tips&#xff1a; ①一次选报你所有准备报考的学科 ②看好类别&#xff0c;有些是“音体美专业”专属 ③审核前如果发现有漏报的科目&#xff0c;可以先取消再报 ④一旦审核通过&#xff0c;就不能更改/增加/较少报考科目 ⑤缴费成功后&#xff0c;不退费【如果考试前几天…

德云社、本山传媒齐聚辽宁卫视春晚,郭德纲和本山大叔会参加吗

腊月二十九&#xff0c;屋里走。不得不说辽宁卫视会选时间&#xff0c;兔年的春晚定在了农历腊月二十九这一天。备受关注的辽宁卫视春晚&#xff0c;准备在农历的腊月二十九晚上七点三十分&#xff0c;正式与广大观众见面。 辽宁卫视春晚之所以倍受期待&#xff0c;是因为这些年…