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

引用著名学者侯捷所言:

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

本章完。

相关推荐
爱吃大芒果6 分钟前
Flutter for OpenHarmony 实战:mango_shop 路由系统的配置与页面跳转逻辑
开发语言·javascript·flutter
学***54238 分钟前
如何轻松避免网络负载过大
开发语言·网络·php
RANCE_atttackkk13 分钟前
Springboot+langchain4j的RAG检索增强生成
java·开发语言·spring boot·后端·spring·ai·ai编程
梵刹古音15 分钟前
【C语言】 格式控制符与输入输出函数
c语言·开发语言·嵌入式
Acrelhuang22 分钟前
工商业用电成本高?安科瑞液冷储能一体机一站式解供能难题-安科瑞黄安南
大数据·开发语言·人工智能·物联网·安全
hello 早上好22 分钟前
03_JVM(Java Virtual Machine)的生命周期
java·开发语言·jvm
沐雪架构师23 分钟前
LangChain 1.0 Agent开发实战指南
开发语言·javascript·langchain
tod11324 分钟前
力扣高频 SQL 50 题阶段总结(四)
开发语言·数据库·sql·算法·leetcode
rainbow688931 分钟前
VSCode配置C/C++环境全攻略
c++
2501_9400078935 分钟前
Flutter for OpenHarmony三国杀攻略App实战 - 战绩记录功能实现
开发语言·javascript·flutter