第八讲:STL简介

1. 什么是STL


 STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复的
组件库,而且是一个包罗数据结构与算法的软件框架。


2. STL的版本


a. 原始版本
Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原始版本一样做开源使用。 HP 版本--所有STL实现版本的始祖。
b. P. J. 版本
由P. J. Plauger开发,继承自HP版本,被Windows Visual C++采用,不能公开或修改,缺陷:可读性比较低,符号命名比较怪异。
c.RW版本
由Rouge Wage公司开发,继承自HP版本,被C+ + Builder 采用,不能公开或修改,可读性一般。
d.SGI版本
由Silicon Graphics Computer Systems,Inc公司开发,继承自HP版 本。被GCC(Linux)采用,可
移植性好,可公开、修改甚至贩卖,从命名风格和编程 风格上看,阅读性非常高。我们后面学习
STL要阅读部分源代码,主要参考的就是这个版本。


3. STL的六大组件

4. STL的重要性


1. 在笔试中


二叉数层序打印:把二叉树打印成多行_牛客题霸_牛客网
重建二叉树:重建二叉树_牛客题霸_牛客网
两个栈实现一个队列:用两个栈实现队列_牛客题霸_牛客网


2. 在面试中

3. 在工作中

网上有句话说: 不懂 STL ,不要说你会 C++” STL C++ 中的优秀作品,有了它的陪伴,许多底层
的数据结构以及算法都不需要自己重新造轮子,站在前人的肩膀上,健步如飞的快速开发。

5. 如何学习STL

一个大佬的独白:

简单总结一下 :学习 STL 的三个境界: 能用,明理,能扩展

总结:本节主要了解了一下STL是什么,它有哪些组成以及它的重要性,为后续学习STL中的容器埋下伏笔,所以本节没有涉及技术内容。如果你觉得博主讲得不错的话,请留下点赞和收藏吧,未完待续...

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

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

相关文章

高弹性、高可靠!腾讯云 TDMQ RabbitMQ Serverless 版全新发布

导语 2025年6月起,腾讯云 TDMQ RabbitMQ 版正式推出 Serverless 版本,该版本基于自研的存算分离架构,兼容 AMQP 0-9-1 协议和开源 RabbitMQ 的各个组件与概念,且能够规避开源版本固有的不抗消息堆积、脑裂等稳定性缺陷&#xff0…

Linux 内存调优之 BPF 分析用户态小内存分配

写在前面 博文内容为 使用 BPF 工具跟踪 Linux 用户态小内存分配(brk,sbrk)理解不足小伙伴帮忙指正 😃,生活加油我看远山,远山悲悯 持续分享技术干货,感兴趣小伙伴可以关注下 _ brk 内存分配简单概述 一般来说,应用程序的数据存放于堆内存中,堆内存通过brk(2)系统调用进…

心理测评app心理测试系统框架设计

一、逻辑分析 用户管理逻辑 新用户注册:需要收集用户的基本信息,如用户名、密码、邮箱等,并且要对输入信息进行合法性校验,确保信息完整且符合格式要求。同时,为每个新用户生成唯一的标识符,方便后续数据管…

配置有nvlink的H20A800使用pytorch报错

背景 装有nvlink的h20机器上配置好驱动和cuda之后使用pytorch报错 A800机器同样 (pytorch2.4) rootxx-dev-H20:~# python Python 3.12.0 | packaged by Anaconda, Inc. | (main, Oct 2 2023, 17:29:18) [GCC 11.2.0] on linux Type “help”, “copyright”, “credits” or …

sql的语句执行过程

第一步:客户端把语句发给服务器端执行 当我们在客户端执行SQL语句时,客户端会把这条SQL语句发送给服务器端,让服务器端的进程来处理这语句。也就是说,Oracle 客户端是不会做任何的操作,他的主要任务就是把客户端产生的…

深度学习-分类

深度学习-分类方式 (重点)一、按数据类型与处理逻辑分类1. 序列数据(时序/顺序相关)2. 网格状数据(空间相关)3. 图结构数据(非欧几里得结构)4. 其他特殊类型数据 (重点&a…

C语言---常见的字符函数和字符串函数介绍

目录 前言 1 字符分类函数 2 字符转换函数 3 strlen的使用和模拟实现 3.1 strlen的模拟实现 4 strcpy的使用和模拟实现 4.1 strcpy的模拟实现 5 strcat的使用和模拟实现 5.1 strcat的模拟实现 6 strcmp的使用和模拟实现 6.1 strcmp的模拟实现 7 strncpy函数的使用…

Minio入门+适配器模式(实战教程)

一、安装Minio 1.1 拉取镜像 docker pull minio/minio docker images 1.2创建挂载目录 1.2.1 创建数据目录 mkdir -p /docker-minio/data 1.2.2 创建配置文件目录 mkdir -p /docker-minio/config 1.2.3 设置权限 chmod -R 777 /docker-minio/data /docker-minio/config …

LLaMA-Factory 对 omnisql 进行 ppo dpo grpo nl2sql任务 实现难度 时间 全面对比

在LLaMA-Factory框架下,针对omnisql任务(自然语言到SQL生成)应用PPO、DPO、GRPO三种算法的实现难度、时间及全面对比如下: 一、实现难度对比 1. PPO(近端策略优化) 难度:★★☆☆☆&#xff…

Kingbase 数据库中的 sys_guid() 函数报错

解决 Kingbase 数据库中的 sys_guid() 函数报错问题 问题背景 Kingbase 数据库在迁移或使用过程中,可能会遇到 select sys_guid() 函数报错 , 提示函数不存在的情况,这通常是由于以下几种原因造成的: 函数未正确安装或未启用函数参数不符合…

零基础RT-thread第五节:电容按键(2)

上一章的电容按键完全使用的HAL库的代码,并没有使用线程。这里尝试使用线程来控制电容按键。 依旧是 F767 本来以为会很容易实现,没想到尝试了很久,电容按键一直没有反应。 static rt_uint32_t measure_charge_time(void) {// 步骤1: 放电 …

华为云Flexus+DeepSeek征文|单机部署 与 CCE 高可用部署下 Dify 性能实测

引言 在当今的 AI 应用开发领域,选择合适的部署方式对于应用的性能表现、资源利用和成本控制至关重要。华为云为开发者提供了多样化的部署选择,其中基于单机 Flexus 实例的基础版部署和基于 CCE 容器的高可用版部署是两种常见的方式。本文将深入对比这两…

钉钉小程序框架:Pinia 状态管理与持久化存储封装

上一篇文章完成了 Pinia 在钉钉小程序中的引入与基础配置 文章地址:钉钉小程序框架引入 Pinia 状态管理-CSDN博客 本文将深入探讨如何通过Pinia 结合持久化存储 实现用户状态 在上一章节中,我们已经完成了 Pinia 在钉钉小程序中的引入与基础配置。本章将…

云计算产业链

一、云计算定义与分类体系 本质特征 按需服务模式:以网络化方式提供可配置的计算资源共享池(网络/服务器/存储/应用)。核心能力:快速弹性扩容、资源池化共享、按使用量付费、低管理开销。技术原理:通过分布式计算将大型…

git使用详解和示例

什么是 Git? Git 是一个 分布式版本控制系统(DVCS),用于跟踪文件的变化,协调多人协作开发。由 Linus Torvalds 开发,用于管理 Linux 内核代码。 Git 的核心概念 名称说明工作区 (Working Directory)你看到…

深度学习的引出

虽然我们的神经⽹络给出了令⼈印象深刻的表现,但这样的表现带有⼏分神秘 ⽹络中的权重和偏置是被⾃动发现的。这意味着我们不能⽴即解释⽹络怎么做的、做了什么。我们能否找 到⼀些⽅法来理解我们的⽹络通过什么原理分类⼿写数字?并且,在知道…

GEO(生成式引擎优化)—— 内容创作者与企业的生死新战场

在搜索引擎优化(SEO)定义了互联网信息获取规则数十年后,一场由生成式人工智能(AIGC)驱动的风暴正悄然重塑整个格局。当ChatGPT、Claude、Gemini等AI助手能够直接生成整合后的答案,而非仅仅提供链接列表时&a…

混合密度模型GMM的似然函数(二)

设 Θ { π k , θ k } k 1 K \varTheta \{ \pi_k, \boldsymbol {\theta}_k \}_{k1}^{K} Θ{πk​,θk​}k1K​为参数向量, X { x 1 , ⋯ , x n } \mathcal {X} \{ {\bm x}_1, \cdots, {\bm x}_n \} X{x1​,⋯,xn​}为观测数据,给定数据点的独立性&a…

selenium元素定位

当我们可以打开浏览器后我们如果想要进行web测试我们自然要对网页的一些功能进行单独拿出来进行测试,但是我们要怎么才能拿到我们想要的元素,并且对其进行操作呢。 我们就以百度主页的输入框为例,如果我们想要王输入框中输入一些内容我们就需…

2025第十五届上海生物发酵展:江苏健达干燥盛装赴会

2025 年 8 月 7 - 9 日,上海新国际博览中心将迎来一场生物发酵行业的盛会 —— 第 15 届上海国际生物发酵产品与技术装备展览会(BIOCHINA 2025)。作为国内干燥设备领域的领军企业,江苏健达干燥工程有限公司受邀盛装参展&#xff0…