C++ STL简介:从原理到入门使用指南

STL简介

概念

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

更迭

1.原始版本

AlexanderStepanov、MengLee 在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原

始版本一样做开源使用。HP版本--所有STL实现版本的始祖。

2.P.J.版本

由P.J.Plauger开发,继承自HP版本,被WindowsVisualC++采用,不能公开或修改,缺陷:可读

性比较低,符号命名比较怪异。

3.RW版本

由Rouge Wage公司开发,继承自HP版本,被C++Builder采用,不能公开或修改,可读性一般。

4.SGI版本

由Silicon Graphics Computer Systems,Inc公司开发,继承自HP版本。被GCC(Linux)采用,可

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

STL的六大组件

如何学习STL

引用著名学者侯捷所言:

总结为:能用,明理,能扩展。

本章完。

相关推荐
Pniubi2 分钟前
HashMap的扩容和树化边界
java·开发语言
gCode Teacher 格码致知2 小时前
Pandas教学-17:Series与Dataframe的关系
开发语言·python·pandas
发量惊人的中年网工2 小时前
分公司访问总部ERP慢怎么办?SD-WAN组网的排查与验收要点
服务器·开发语言·php
下页、再停留2 小时前
【C#桌面客户端系列学习-15】生成可视化图表之折线图、柱状图、饼状图
开发语言·c#
ShineWinsu2 小时前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素
益莱储中国4 小时前
深度解析:RF 实验室从 5G迈向 6G 的过程中保持技术领先与设备升级的路径
开发语言·php
丰色木夕5 小时前
Ubuntu22.04下源码编译安装USD-Brep
c++·ubuntu·nvidia·usd-brep
benchmark_cc5 小时前
Python 量化系统如何设计统一的数据访问接口:从策略解耦到数据层架构
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
const_qiu5 小时前
第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
java·开发语言·人工智能·python
Wang's Blog5 小时前
Java 项目实战: 交友项目 - 个人资料管理的更新接口实现与坑
java·开发语言·交友