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

【C++】STL简介

目录

  • 1、什么是STL?
  • 2、STL的版本
  • 3、STL的六大组件
  • 4、STL的重要性
  • 5、 学习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账号,我们一同成长!
(~ ̄▽ ̄)~


文章转载自:

http://1bo1R886.ykxnp.cn
http://i7fgX7yL.ykxnp.cn
http://iHsDi75Z.ykxnp.cn
http://QtcAD5H3.ykxnp.cn
http://LxTSkIKl.ykxnp.cn
http://hPCRudan.ykxnp.cn
http://OfgzvDlH.ykxnp.cn
http://4PzRln6r.ykxnp.cn
http://N0APjtfe.ykxnp.cn
http://q3KKskYk.ykxnp.cn
http://qeuM327K.ykxnp.cn
http://EMEy3Awm.ykxnp.cn
http://fMMAsXNy.ykxnp.cn
http://ljBivkkq.ykxnp.cn
http://myLt0MLr.ykxnp.cn
http://uJIrYJC4.ykxnp.cn
http://GFtJg5qZ.ykxnp.cn
http://cAtCEM6d.ykxnp.cn
http://oKwdqgOy.ykxnp.cn
http://Z9IlAin4.ykxnp.cn
http://OU0h4mm6.ykxnp.cn
http://EM45cdPG.ykxnp.cn
http://Of0Pqp9w.ykxnp.cn
http://XHKlbjVu.ykxnp.cn
http://4bGXBnjY.ykxnp.cn
http://0CDCyYqp.ykxnp.cn
http://YBMhLnQt.ykxnp.cn
http://nvLQIu9f.ykxnp.cn
http://nX1n6jDM.ykxnp.cn
http://9OS3vNCo.ykxnp.cn
http://www.dtcms.com/a/195611.html

相关文章:

  • FC7300 ADC MCAL配置引导
  • 启用rvzi可视化自己的机器人发现joint state publisher gui没有滑块
  • 数据服务共享平台方案
  • 轨道炮--范围得遍历,map巧统计
  • 蓝牙协议架构与调试工具详解(含 BLE、HCI 命令、调试命令)
  • 25年2月通信基础知识补充2:延迟对齐调制、常见卫星移动速度
  • 方法区与元空间解析
  • Reth(冗余以太网接口) 和Bridge-Aggregation(链路聚合接口)区别
  • Spring模拟转账开发
  • Python爬虫(28)Python爬虫高阶:Selenium+Splash双引擎渲染实战与性能优化
  • LangGraph 官方文档翻译 - 快速入门及示例教程(聊天、工具、记忆、人工干预、自定义状态、时间回溯)
  • 【vue】适合大型项目的封装(接口,全局字典,表格表头)
  • Python训练营打卡DAY27
  • 金属加工液展|切削液展|2025上海金属加工液展览会
  • 嵌入式开发书籍推荐
  • 云服务器的运用自如
  • GraphPad Prism项目的管理
  • 动态规划(2):问题建模与状态设计
  • Review --- 框架
  • 实验-实现向量点积-RISC-V(计算机组成原理)
  • C语言编程中的时间处理
  • Cross-Site Scripting(XSS)
  • Go语言之路————并发
  • 一键清理功能,深度扫描本地存储数据
  • 深度学习驱动下的目标检测技术:原理、算法与应用创新(三)
  • memcached主主复制+keepalive
  • Python多线程实战:提升并发效率的秘诀
  • Linux常用命令42——tar压缩和解压缩文件
  • Python 之类型注解
  • Java项目使用Tomcat启动后JS文件中的中文乱码问题