C++_STL简介

目录

1.引言

2.什么是STL

3.STL的版本

4.STL的六大组件

5.STL的重要性

6.如何学习STL

7.结语


1.引言

这篇主要就是介绍一下STL ,那么话不多说直接进入正文------------------>

​​​​​​​ ​​​​​​​


2.什么是STL

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

C++可以实现这个效果就是因为模板的存在,这也是为什么我在模板章节说,模板出来了,C++就有质的飞跃了


3.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要阅读部分源代码,主要参考的就是这个版本。


4.STL的六大组件

STL整体而言由以下六大组件构成(具体会在正式讲STL的时候讲解),核心是容器(核心就是数据结构)和算法。然后这里所谓的空间配置器其实就是个内存池


5.STL的重要性

在笔试中我们可以用STL来快速辅助我们来实现算法和数据结构

在面试中也有很多和STL 相关的问题

在工作中,对于许多的算法和数据结构我们不需要自己重新造轮子,站在前人的肩膀上,快速开发。STL是C++中的优秀作品


6.如何学习STL

总的来说就分为三层------能用(会熟练使用),明理(知道底层怎么实现),能拓展(扩充STL,因为工作中肯定会遇到STL中没有提供的算法或数据结构,这个时候就需要我们来扩充STL)


7.结语

那么,C++的 STL简介部分的内容就全部讲解完毕啦,希望以上内容对你有所帮助,感谢观看,若觉得写的还可以,可以分享给朋友一起来看哦,毕竟一起进步更有动力嘛,当然能关注一下就更好啦

相关推荐
估值探索者2 小时前
【AI+量化实战 #05】财报季的信息洪流:用LLM给业绩预告分类+算事件窗口收益
java·c语言·c++·人工智能·python·分类·数据挖掘
Zixhy4 小时前
手撕Reactor模型实现同步高并发服务器及Muduo网络库深入解析
linux·服务器·网络·数据库·c++
傻啦嘿哟10 小时前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_9336707910 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
李少兄11 小时前
JavaScript 数据类型完全指南
开发语言·javascript·ecmascript
码匠许师傅11 小时前
【设计模式精讲】29.行为型模式总结与对比(Behavioral Patterns Summary)
c++·设计模式·uml
Seoyoneh12 小时前
Agentic Workflow编排架构:云客服从“被动响应”迈向“主动执行”的技术实现
java·开发语言·架构
啦啦啦啦啦zzzz12 小时前
Logger的组装(c++20)
c++·算法·c++20
Tangyuewei12 小时前
Java 写 Agent:模型只是组件
java·开发语言
小玮看世界12 小时前
[Python]从合并区间到传感器融合区:合并区间在传感器区域融合的实际落地
开发语言·python