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的六大组件

 

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

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

相关文章

深度学习优化:Mojo模型中自定义特征的稀疏表示处理

深度学习优化:Mojo模型中自定义特征的稀疏表示处理 在机器学习领域,特征的稀疏表示是一种常见的数据表示方式,尤其在处理文本、图像和网络数据时。Mojo模型,作为模型部署的一种形式,支持将训练好的模型转换为可在不同…

【Java】中的List集合

目录 一、什么是List集合二、List的常用方法List的初始化元素操作1.添加元素2.删除元素3.修改元素4.查询元素 三、List集合的遍历1.for循环遍历2.增强for循环3.迭代器遍历 一、什么是List集合 List集合是最常用的一种数据结构之一。它具有动态扩容、元素添加、删除和查询等基础…

【Linux学习】常用基本指令

🔥个人主页: Forcible Bug Maker 🔥专栏:Linux学习 目录 🌈前言🔥XShell的一些使用查看Linux主机IP使用XShell登录主机XShell下的复制粘贴 🔥Linux下常用基本指令ls指令pwd指令cd指定touch指令…

HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号4

基础认证题库请移步:HarmonyOS应用开发者基础认证题库 注:有读者反馈,题库的代码块比较多,打开文章时会卡死。所以笔者将题库拆分,单选题20个为一组,多选题10个为一组,题库目录如下,…

使用Docker Compose给自己上传的JAR打包成镜像并自动启动容器

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。通过编写一个docker-compose.yml文件,可以简化Docker容器的管理。本文将介绍如何使用Docker Compose将一个上传的JAR文件打包成Docker镜像,并在容器中自动启动该应用程序。 一、准备工作…

MSP430单片机快速上手CSS开发环境(24电赛省赛)

前言:3天学完MSP430单片机,为了对应电赛,同时写下这篇笔记,用来熟悉对应开发环境,看的懂对应代码。 #MSP430开发环境安装 MSP单片机是TI(德州仪器)半导体厂家产的,一款16位单片机…

【开源库学习】libodb库学习(十一)

12 乐观并发 只要我们在单个数据库事务中执行与特定应用程序事务对应的所有数据库操作,ODB事务模型(第3.5节,“事务”)就保证了一致性。也就是说,如果我们在数据库事务中加载一个对象并在同一事务中更新它,…

【机器学习】机器学习解决的问题特点、机器学习学的是什么、怎么学、如何构建高效机器学习模型的策略、机器学习的分类以及机器学习、模式识别、数据挖掘和人工智能的区别

引言 机器学习是人工智能的一个重要分支,主要解决的是如何通过算法让机器从数据中自动学习规律和知识,以完成特定任务或解决特定问题。 文章目录 引言一、机器学习解决的是什么样的问题1.2 数据驱动的预测问题1.3 数据理解与挖掘1.4 优化与决策问题1.5 异…

如何开启或者关闭 Windows 安全登录?

什么是安全登录 什么是 Windows 安全登录呢?安全登录是 Windows 附加的一个组件,它可以在用户需要登录的之前先将登录界面隐藏,只有当用户按下 CtrlAltDelete 之后才出现登录屏幕,这样可以防止那些模拟登录界面的程序获取密码信息…

华为云技术精髓笔记(四)-CES基础入门实战

华为云技术精髓笔记(四) CES基础入门实战 一、监控ECS性能 1、 远程登录ECS 步骤一 双击实验桌面的“Xfce终端”打开Terminal,输入以下命令登录云服务器。注意:请使用云服务器的公网IP替换命令中的【EIP】。 LANGen_us.UTF-8 ssh rootEIP说明&#x…

ARM功耗管理之功耗和安全

安全之安全(security)博客目录导读 思考:功耗与安全?超频攻击?欠压攻击?低功耗流程中的安全? 睡眠唤醒流程中,安全相关寄存器的备份恢复 举例:比如某DMA通道,芯片逻辑默认为安全通…

centos/Ubuntu安装Nginx服务器

安装方式 使用系统自带的软件包管理器快速安装(如centos的yum)到官网下载压缩包安装(https://nginx.org/en/download.html)docker容器实例 下面是昨天以第二种方式安装的命令小记! centos # 下载(https…

使用原生 HTML + JS 实现类似 ChatGPT 的文字逐字显示效果

ChatGPT 的逐字显示效果很酷炫&#xff0c;那么我们可以尝试实现类似的效果。 定义一个基本 HTML 结构 <div class"chat-container"><div id"message"></div> </div>编写 JS 代码 const messageElement document.getElementBy…

压缩视频在线免费 怎么免费压缩视频大小 哪个软件可以免费压缩视频

在数字媒体时代&#xff0c;视频文件的体积越来越大&#xff0c;这就需要我们找到高效的方式来压缩视频&#xff0c;以节省存储空间和提升分享速度。本文将为您介绍几款免费的视频压缩软件&#xff0c;帮助您轻松应对视频文件管理难题。 方法一、 安装并打开一款的视频软件。 …

Git之repo sync -c与repo sync -dc用法区别四十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

解决云服务器CPU占用率接近100%问题

黑客通常利用云服务器开放的端口攻击云服务器&#xff0c;造成云服务器CPU占用率接近100%&#xff0c;云服务器CPU资源为黑客所用&#xff0c;例如&#xff1a;挖矿。 top命令查看资源使用情况 [hadoopMaster ~]$ top ...PID USER PR NI VIRT RES SHR S %CPU %…

【机器学习框架TensorFlow和PyTorch】基本使用指南

机器学习框架TensorFlow和PyTorch&#xff1a;基本使用指南 目录 引言TensorFlow概述 TensorFlow简介TensorFlow的基本使用 PyTorch概述 PyTorch简介PyTorch的基本使用 TensorFlow和PyTorch的对比结论 引言 随着深度学习的快速发展&#xff0c;机器学习框架在实际应用中起到…

idea springBoot启动时覆盖apollo配置中心的参数

vm options -Dorder.stat.corn“0/1 * * * * ?” 只有vm options, -D参数才能覆盖apollo参数 program arguments –key01val01 --key02val02 environment varibales envFAT;key02val02;key03val03

MySQL8.0新特性~最左前缀匹配原则被打破了

测试 在MySQL8.0.25和mysql5.7.33中创建如下 CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY(f1, f2)); INSERT INTO t1 VALUES(1,1), (1,2), (1,3), (1,4), (1,5),(2,1), (2,2), (2,3), (2,4), (2,5); INSERT INTO t1 SELECT f1, f2 5 FROM t1; INSERT I…

linux本地互传文件

1、从服务器下载文件 scp usernameservername:/remote_path/filename ~/local_destination 2、上传本地文件到服务器 scp ~/local_path/local_filename usernameservername:/remote_path 3、从服务器下载整个目录 scp -r usernameservername:/remote_path/remote_dir/ ~/loc…