STL简介

1.什么是STL

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 Systems,Inc公司开发,继承自HP版 本。被GCC(Linux)采用,可

移植性好,可公开、修改甚至贩卖,从命名风格和编程 风格上看,阅读性非常高。

3.STL的六大组件

4.STL的重要性

网上有句话说:"不懂STL,不要说你会C++"。STL是C++中的优秀作品,有了它的陪伴,许多底层

的数据结构以及算法都不需要自己重新造轮子,站在前人的肩膀上,健步如飞的快速开发。

5.个人感悟

光看这些其实一点儿也不能了解STL,只有自己写代码去用,才能体会到它的好处和概念。比如我原来看到STL的六大组件,我感觉很NB,词汇很高大上,以为它们都是各自独立的,后来学了以后才明白它们是融合在一起使用的,相当于把零件都组装起来成为一台机器,很巧妙,在不经意间你就会理解它们的概念。

相关推荐
为何创造硅基生物4 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
吃好睡好便好4 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
星寂樱易李4 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
仰泳之鹅4 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
之歆5 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
于小猿Sup6 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y6 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手6 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
社交怪人6 小时前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言
郭涤生7 小时前
不同主机之间网络通信-以太网连接复习
开发语言·rk3588