【C++】STL简介

目录

1、什么是STL?

在博主还在学习C语言的时候就已经听说过STL的大名了,C++本来可以在94年发布的,但由于中途发现了STL(由惠普实验室研发)C++的研发组发现STL相当有用,可以让C++提高一个等级,所以又花了4年的时间加入了STL,最终C++98年投入使用。

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 SystemsInc公司开发,继承自HP版本。被GCC(Linux)采用,可移植性好,可公开、修改甚至贩卖 ,从命名风格和编程风格上看,阅读性非常高

3、STL的六大组件

4、STL的重要性

STL 是 C++程序员的核心竞争力

  • 笔试中 : 是快速解题的 "军刀",需掌握高频容器 / 算法的组合使用;
  • 面试中 : 是区分初级与资深程序员的 "试金石",需深挖底层原理 (如数据结构特性、性能瓶颈)
  • 工作中 : 是工程化开发的 "效率引擎",需结合业务场景选择最优工具(原生 STL 或优化库如 Abseil/folly)

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

5、 学习STL的三重境界

网图

我认为这三个境界很有辨识度,第一层境界 是我们会简单使用STL第二层境界了解STL的底层原理第三层境界能够扩展STL,能够补充轮子

总结:
以上就是本期博客分享的全部内容啦!如果觉得文章还不错的话可以三连支持一下,你的支持就是我前进最大的动力!
技术的探索永无止境! 道阻且长,行则将至!后续我会给大家带来更多优质博客内容,欢迎关注我的CSDN账号,我们一同成长!
(~ ̄▽ ̄)~

相关推荐
宇宙超级无敌暴龙战士3 小时前
旮旯c语言三个任务
c++·c
BanyeBirth4 小时前
C++差分数组(二维)
开发语言·c++·算法
Fcy6484 小时前
C++ map和multimap的使用
开发语言·c++·stl
CC.GG4 小时前
【C++】STL容器----unordered_map和unordered_set的使用
java·数据库·c++
lengjingzju5 小时前
基于IMake的 GCC 编译与链接选项深度解析:构建高效、安全、可调试的现代软件
c++·安全·性能优化·软件构建·开源软件
xu_yule6 小时前
算法基础(数论)—算法基本定理
c++·算法·算数基本定理
CoderCodingNo6 小时前
【GESP】C++五级真题(结构体排序考点) luogu-B3968 [GESP202403 五级] 成绩排序
开发语言·c++·算法
星轨初途8 小时前
郑州轻工业大学2025天梯赛解题
c++·经验分享·笔记·算法·链表·剪枝
点云SLAM9 小时前
C++ 引用折叠(Reference Collapsing)和示例讲解说明
数据结构·c++·标准算法·完美转发·代码性能优化·c++ 引用折叠·typedef / using
chenyuhao20249 小时前
Linux网络编程:HTTP协议
linux·服务器·网络·c++·后端·http·https