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

C++ STL

1. 什么是STL

STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且

是一个包罗数据结构与算法的软件框架

通俗来说:将常见的数据结构(顺序表、链表、栈、队列、堆。。。。)以模板的方式进行封装

2. STL的版本

原始版本

Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意

运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原始版本一样做开源使

用。 HP 版本--所有STL实现版本的始祖。

P. J. 版本

由P. J. Plauger开发,继承自HP版本,被Windows Visual C++采用,不能公开或修改,缺陷:可读性比较低,

符号命名比较怪异。

RW版本

由Rouge Wage公司开发,继承自HP版本,被C+ + Builder 采用,不能公开或修改,可读性一般。

SGI版本

由Silicon Graphics Computer Systems,Inc公司开发,继承自HP版 本。被GCC(Linux)采用,可移植性好,

可公开、修改甚至贩卖,从命名风格和编程 风格上看,阅读性非常高。我们后面学习STL要阅读部分源代码,

主要参考的就是这个版本。

3. STL的六大组件

容器:实际就是以模板的方式封装出来的常见的数据结构

算法:用户可以定制算法功能

如何做到算法和具体数据结构无关:迭代器

STL需要自己管理内存;使用空间配置器(STL的内存池)

负责空间申请和释放,以及对这些空间进行管理

适配器(配接器):

相关文章:

C++ STL

1. 什么是STLSTL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。通俗来说:将常见的数据结构(顺序表、链表、栈、队列、堆。。。…...

java程序员要了解的sql语句优化技巧大全

sql语句规范 MySQL在Linux系统下数据库名,表名,存储过程名,函数名称,触发器名称等区分大小写,列名不区分大小写,原因是这些操作系统下文件名称区分大小写。 MySQL在Windows系统下全部不区分大小写&#xf…...

SQL零基础入门学习(十)

SQL零基础入门学习(九) SQL CREATE DATABASE 语句 CREATE DATABASE 语句用于创建数据库。 SQL CREATE DATABASE 语法 CREATE DATABASE dbname;SQL CREATE DATABASE 实例 下面的 SQL 语句创建一个名为 “my_db” 的数据库: CREATE DATAB…...

Pytorch从零开始训练模型【识别数字模型】并测试

1 准备数据集 import torch import torchvision # 去网上下载CIFAR10数据集【此数据集为经典的图像数字识别数据集】 # train True 代表取其中得训练数据集; # transform 参数代表将图像转换为Tensor形式 # download 为True时会去网上下载数据集到指定路径【root】…...

Leetcode DAY 44: 完全背包 and 零钱兑换 II and 组合总和 Ⅳ

完全背包518. 零钱兑换 II&#xff01;&#xff01;&#xff01;程序未通过原因&#xff1a; 1、dp数组的初始化没考虑清楚 2、组合问题 dp数组的更新没考虑清楚 修改后&#xff1a; class Solution { public:int change(int amount, vector<int>& coins) {// dp[j…...

谷歌搜索留痕的技术公式【2023年新版】

本文主要分享谷歌搜索留痕的技术公式&#xff0c;让你更简单的去学习谷歌留痕的技术原理 本文由光算创作&#xff0c;有可能会被修改和剽窃&#xff0c;我们佛系对待这样的行为吧。 谷歌搜索留痕的技术公式是什么&#xff1f; 答案是&#xff1a;需要做排名的关键词海量能搜…...

2023财年Q4业绩继续下滑,ChatGPT能驱动英伟达重回巅峰吗?

近年来&#xff0c;全球科创风口不断变换&#xff0c;虚拟货币、元宇宙等轮番登场&#xff0c;不少企业匆忙上台又很快谢幕&#xff0c;但在此期间&#xff0c;有些企业扮演淘金潮中“卖水人”的角色&#xff0c;却也能够见证历史且屹立不倒。不过&#xff0c;这并不意味着其可…...

博客管理系统--项目说明

项目体验地址&#xff08;账号&#xff1a;123&#xff0c;密码&#xff1a;123&#xff09;http://120.53.20.213:8080/blog_system/login.html项目码云Gitee地址&#xff1a;https://gitee.com/GoodManSS/project/tree/master/blog_system&#xff08;一&#xff09;准备工作…...

一文带你了解MySQL的Server层和引擎层是如何交互的?

对于很多开发小伙伴来说&#xff0c;每天写SQL是必不可少的一项工作。 那不知道大家有没有深入了解过&#xff0c;当我们的一条SQL命令被执行时&#xff0c;MySQL是如何把数据从硬盘/内存中查出来并展示到用户面前的呢&#xff1f; 其实&#xff0c;MySQL也没有大家想象的那么…...

CVNLP 常用数据集语料库资源汇总

​ 深度学习常用数据集汇总CVClassificationNLPSentiment AnalysisText ClassificationDialogue Generation其他AudioMulti-ModalClassificationSearch & MatchingImage CaptioningVisualQATri-Modal其他CV ghcnclimate_sphereModelNet40Shrec17 data labelcosmo Spherica…...

lisp 表达式求值规则

lisp 表达式求值规则 一个要求值的 lisp 对象被称为lisp表达式&#xff08;form&#xff09;。 lisp 表达式分三种 1. 自求值表达式。前面说过数字、字符串、向量都是自求值表达式。还有两个特殊的符号 t 和 nil 也可以看成是自求值表达式。 2. 符号表达式。符号的求值…...

Sophos Firewall OS (SFOS) 19.5 MR1 - 同步下一代防火墙

Sophos Firewall OS (SFOS) 19.5 MR1 - 同步下一代防火墙 请访问原文链接&#xff1a;https://sysin.org/blog/sfos-19-5/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;www.sysin.org Sophos Firewall v19.5 现已推出 Sophos Firewall…...

为什么很多人转行IT考虑后端开发Java?

顺应互联网时代发展的选择 在计算机广泛运用于社会的各个角落的今天&#xff0c;选择学习一门计算机语言真的很不错&#xff0c;它会让你的生活从此与众不同。软件渗透到组织的运营和管理的后台之中&#xff0c;形成了组织运营支撑平台。这种形态是传统软件的重要应用场景。在…...

WebDAV之π-Disk派盘+Cloud Player

Cloud Player 支持WebDAV方式连接π-Disk派盘。 推荐一款云媒体播放器是存储在常见云平台中的内容的通用播放器。 Cloud Player云媒体播放器是存储在常见云平台中的内容的通用播放器,无需将其下载到设备。支持以下云平台:Google Drive、DropBox、One Drive、WebDav等。此外,…...

Python-datetime、time包常用功能汇总

目录基础知识时间格式有哪些&#xff1f;Python中的时间格式化时间戳datetimedatedatetimetimedeltatime常用获取今天凌晨字符串&#xff1f;将一个时间格式的字符串转为时间戳将一个时间戳转为指定格式的字符串全部代码参考基础知识 时间格式有哪些&#xff1f; 「格林威治标…...

Spring MVC 源码- HandlerAdapter 组件(四)之 HandlerMethodReturnValueHandler

HandlerAdapter 组件HandlerAdapter 组件&#xff0c;处理器的适配器。因为处理器 handler 的类型是 Object 类型&#xff0c;需要有一个调用者来实现 handler 是怎么被执行。Spring 中的处理器的实现多变&#xff0c;比如用户的处理器可以实现 Controller 接口或者 HttpReques…...

2023面试必备:web自动化测试POM设计模式详解

1.背景 为UI页面写自动化测试用例时&#xff08;如&#xff1a;web自动化、app自动化&#xff09;&#xff0c;使用普通的线性代码&#xff0c;测试用例中会存在大量的元素定位及操作细节&#xff0c;当UI界面变化时&#xff0c;测试用例也要跟着变化&#xff0c;在自动化测试…...

【人工智能 AI】Robotic Process Automation (RPA) 机器人流程自动化 (RPA)

目录 ROBOTIC PROCESS AUTOMATION SERVICES机器人流程自动化服务 What is RPA? 什么是机器人流程自动化?...

ubuntu/linux系统知识(37)systemd管理临时文件的方法systemd-tmpfiles

1、systemd-tmpfiles Linux产生大量的临时文件和目录&#xff0c;例如/tmp、/run 。systemd提供了一个结构化的可配置方法来管理临时文件和目录&#xff0c;即systemd-tmpfiles工具和配套的几个服务&#xff0c;以实现创建、删除和管理临时文件。 systemd创建了几个调用syste…...

云计算专业和计算机专业哪个好就业?

云计算专业其实也是属于计算机类专业呢&#xff0c;他包括了计算机硬件设备、计算机网络、磁盘柜、操作系统、中间件、数据库、服务器/虚拟机、应用软件开发等技术内容&#xff0c;云计算技术是以IT服务的形式面向用户的&#xff1b;所以云计算不是一门技术&#xff0c;而是众多…...

HS2-HF_Patch深度解析:游戏模组生态系统的技术架构与实现原理

HS2-HF_Patch深度解析&#xff1a;游戏模组生态系统的技术架构与实现原理 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch HS2-HF_Patch作为Honey Select 2游戏的…...

Godot PCK文件高效解包全攻略:从资源提取到实战应用

Godot PCK文件高效解包全攻略&#xff1a;从资源提取到实战应用 【免费下载链接】godot-unpacker godot .pck unpacker 项目地址: https://gitcode.com/gh_mirrors/go/godot-unpacker 作为游戏开发者或爱好者&#xff0c;你是否曾遇到过想要分析或复用Godot引擎打包的游…...

Unity 2022.3 项目里用MQTTnet 4.3.7,手把手教你从下载dll到跑通第一个订阅消息

Unity 2022.3 项目里用MQTTnet 4.3.7&#xff0c;手把手教你从下载dll到跑通第一个订阅消息 在物联网和实时数据通信领域&#xff0c;MQTT协议因其轻量级和高效性成为开发者首选。对于Unity开发者而言&#xff0c;如何在项目中快速集成MQTT功能是一个常见需求。本文将带你从零…...

ComfyUI-WanVideoWrapper:5个技巧快速上手14B参数AI视频生成插件

ComfyUI-WanVideoWrapper&#xff1a;5个技巧快速上手14B参数AI视频生成插件 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 在AI视频生成领域&#xff0c;ComfyUI-WanVideoWrapper作为一款强大…...

Joy-Con Toolkit开源工具:Switch手柄深度定制与性能优化方案

Joy-Con Toolkit开源工具&#xff1a;Switch手柄深度定制与性能优化方案 【免费下载链接】jc_toolkit Joy-Con Toolkit 项目地址: https://gitcode.com/gh_mirrors/jc/jc_toolkit Joy-Con Toolkit是一款面向任天堂Switch玩家的开源手柄管理工具&#xff0c;提供专业级传…...

别再只用NodePort了!手把手教你用MetalLB在本地K8s集群实现LoadBalancer服务暴露

突破本地Kubernetes限制&#xff1a;MetalLB实现LoadBalancer全实战指南 当你第一次在本地Minikube或自建Kubernetes集群中尝试创建LoadBalancer类型的Service时&#xff0c;那个永恒的"Pending"状态是否让你感到困惑&#xff1f;云厂商提供的LoadBalancer服务在本地…...

用QT5的QTcpSocket做一个TCP调试助手:连接单片机/服务器测试数据收发

用QT5打造专业级TCP调试助手&#xff1a;从基础通信到工业级工具开发 在嵌入式开发和物联网项目中&#xff0c;TCP通信调试是每个工程师都会遇到的常规需求。无论是与STM32单片机通信&#xff0c;还是测试PLC设备的网络功能&#xff0c;亦或是验证云服务器的数据接口&#xff0…...

2025最权威的AI论文助手推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下诸多处于主流地位的AI论文工具当中&#xff0c;Grammarly于语法校对以及学术表达优化…...

使用RyTuneX提升Windows性能:系统优化全指南

使用RyTuneX提升Windows性能&#xff1a;系统优化全指南 【免费下载链接】RyTuneX RyTuneX is a cutting-edge optimizer built with the WinUI 3 framework, designed to amplify the performance of Windows devices. Crafted for both Windows 10 and 11. 项目地址: https…...

SAP-PP 返工订单成本归集优化:从物料结算到成本中心的配置与增强实践

1. 售后返工订单的成本核算痛点 在制造业的售后服务环节&#xff0c;包材更换这类返工订单非常常见。这类订单有个特点&#xff1a;它们不涉及产品本身的制造过程&#xff0c;只是对退回产品进行简单处理。但问题来了——按照SAP-PP模块的标准配置&#xff0c;返工订单的成本默…...