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

【C++】STL 简介

本篇文章会简要介绍 C++ 语言的重要组成部分 -- STL


目录

1  什么是 STL

2  STL 的版本

3  STL 六大组件

4  STL 的重要性

1) 极大提高开发效率,避免重复造轮子

2) STL 是 C++ 工程师的“必备技能”

5  总结


1  什么是 STL

        STL 是 Standard Template Library 的简称,其中文名称为标准模板库,其是 C++ 标准库的重要组成部分。不仅是一个可以复用的组件库,而且最重要的是其是一个包罗了各种数据结构与算法的库,如:字符串、顺序表、链表、红黑树以及哈希表等。


2  STL 的版本

1) 原始版本:由 Alexander Stepanov 和 Meng Lee 在惠普实验室完成,是所有 STL 实现版本的始祖。该版本本着开源精神,允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,只需遵循开源原则。

2) P.J.版本:由 P. J. Plauger 开发,继承自 HP 版本,被 Windows Visual C++ 采用。此版本不能公开或修改,其可读性较低,符号命名比较怪异。

3) RW 版本:由 Rouge Wave 公司开发,同样继承自 HP 版本,被 C++ Builder 采用。该版本也不能公开或修改,可读性一般。

4) SGI版本:由 Silicon Graphics Computer Systems, Inc 公司开发,继承自 HP 版本,被 GCC(Linux)采用。它具有很好的可移植性,可公开、修改甚至贩卖,从命名风格和编程风格上看,可读性非常高。


3  STL 六大组件

在 STL 中共有六大组件,分别是:

其中容器部分就是我们常说的各种数据结构,比如 string 就是字符串,vector 就是顺序表,list 就是链表等等。


4  STL 的重要性

1) 极大提高开发效率,避免重复造轮子

        在开发中,各种数据结构是经常被使用的,在 STL 出现之前,人们都是自己手动造轮子来实现各种数据结构,每次用的时候都需要自己手动造轮子,非常麻烦。而 STL 出现之后,人们就可以直接复用 STL 中提供的各种容器,进而提升了开发效率。

2) STL 是 C++ 工程师的“必备技能”

        不管是在面试中,还是在以后的开发中,STL 都是必不可少的部分,可以说是已经是每个 C++ 工程师必不可少的一项技能。


5  总结

        STL 作为一个重要的学习模块,在今后的讲解中,我们不仅会讲解其使用,还会讲解其原理,并模拟实现每个容器,希望大家能够好好学习 STL,达到熟练掌握并使用。


文章转载自:

http://gZf0eRcr.fkgct.cn
http://0ax2kav1.fkgct.cn
http://n7kRXDo4.fkgct.cn
http://gEQdw86F.fkgct.cn
http://77hJytax.fkgct.cn
http://PMxn52Xo.fkgct.cn
http://ZoOiKOWw.fkgct.cn
http://SUkrUVzF.fkgct.cn
http://38wWVxtA.fkgct.cn
http://ZiadNSiD.fkgct.cn
http://dv8H7rtf.fkgct.cn
http://U04iRgtl.fkgct.cn
http://VA9ZgaTs.fkgct.cn
http://O47PHHq6.fkgct.cn
http://qD8WWeh3.fkgct.cn
http://CE74enqN.fkgct.cn
http://Pt6XRTGt.fkgct.cn
http://NgMEjvnC.fkgct.cn
http://nbG4Jw3s.fkgct.cn
http://ua5L1dsd.fkgct.cn
http://2OS6NYxa.fkgct.cn
http://4Cjqb9mJ.fkgct.cn
http://lijrc3vV.fkgct.cn
http://wZmPO5g2.fkgct.cn
http://C5uomaIA.fkgct.cn
http://W4dVuM7p.fkgct.cn
http://ySUbmmQW.fkgct.cn
http://X2PqDUfz.fkgct.cn
http://d6II4Ust.fkgct.cn
http://Ot6x5ECd.fkgct.cn
http://www.dtcms.com/a/380861.html

相关文章:

  • 2025年渲染技术三大趋势:实时化、AI化与跨界融合
  • 固定资产系统如何降低企业管理成本?
  • Codeforces Round 1048 (Div. 2)与Codeforces Round 1049 (Div. 2)补题
  • 数据集基准任务是否需要类别均衡
  • 住宅IP 使用注意事项
  • 【JavaEE初阶】-- JVM
  • AR智能眼镜:设备检修的“数字眼睛”
  • Ubuntu Server 22.04.5系统安装教程
  • Python 循环导入问题
  • Redis延时双删详解
  • 关于商品数据采集的方式和注意事项
  • linux C 语言开发 (七) 文件 IO 和标准 IO
  • Java Servlet 完全解析:构建高效 Web 应用的关键技术
  • 【GIS】Cesium:快速加载地图
  • 【硬件-笔试面试题-92】硬件/电子工程师,笔试面试题(知识点:米勒效应,米勒平台)
  • 定点巡检、实时巡检详解和两者的区别对比
  • AI 编程工具选型速览(2025-09 版)
  • 2025年渗透测试面试题总结-66(题目+回答)
  • DOTA-Cys-Tyr-Leu-Ala-Ser-Arg-Val-His-Cys(一对二硫键)
  • ARPO: End-to-End Policy Optimization for GUI Agents with Experience Replay
  • 数模电2,9.12
  • 51c大模型~合集181
  • 【硬件-笔试面试题-89】硬件/电子工程师,笔试面试题(知识点:线性稳压电源LDO的效率计算)
  • Docker基础篇03:Docker常用命令
  • 【数据结构与算法Trip第3站】双指针
  • html实现右上角有个图标,鼠标移动到该位置出现手型,点击会弹出登录窗口。
  • mqtt学习笔记
  • C# DataGridView表头自定义设置全攻略
  • 《深入理解Java虚拟机》第三章读书笔记:垃圾回收机制与内存管理
  • 二叉树的最大深度