C++【STL】【STL容器的使用与实现】

目录

1. 什么是STL

2. STL的版本

3. STL的六大组件

4.STL容器组件的详解与简单实现


1. 什么是STL

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

vector/list/sort……->STL

istream/ostream……->标准库

STL是标准库std的子集。


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的六大组件

仿函数  greater    less(提供一个类似于函数的类型)

算法 find  swap  reverse  sort merge

迭代器 iterator 

空间配置器(内存池) allocator

容器(数据结构)string vector(顺序表) list deque

配接器 stack queue

迭代器能够在不暴露底层细节的情况下,提供了统一的方式去访问容器,屏蔽底层细节,体现封装价值和力量。

4.STL容器组件的详解与简单实现

C++【STL】【string类的使用】_桜キャンドル淵的博客-CSDN博客

C++【STL】【string类的模拟实现】【string类的深浅拷贝】_桜キャンドル淵的博客-CSDN博客

C++【STL】【vector类的使用】_桜キャンドル淵的博客-CSDN博客 

C++【STL】【vector类的模拟实现】【迭代器失效问题】_桜キャンドル淵的博客-CSDN博客

C++【STL】【list类的使用】【list类的模拟实现】_桜キャンドル淵的博客-CSDN博客 

C++【STL】【stack类的使用】【stack类的模拟实现】_桜キャンドル淵的博客-CSDN博客 

C++【STL】【queue的使用和模拟实现】【priority_queue的使用和模拟实现】_桜キャンドル淵的博客-CSDN博客 

C++【STL】【反向迭代器】_桜キャンドル淵的博客-CSDN博客 

C++【搜索二叉树】_桜キャンドル淵的博客-CSDN博客 

C++【STL】【map和set】_桜キャンドル淵的博客-CSDN博客 

C++【AVL树】_桜キャンドル淵的博客-CSDN博客 

C++【红黑树】_桜キャンドル淵的博客-CSDN博客 

C++【哈希】_桜キャンドル淵的博客-CSDN博客 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桜キャンドル淵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值