STL简介

简介: STL简介

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c++,Python等

> 座右铭:松树千年终是朽,槿花一日自为荣。

> 目标:了解c++中的STL库

> 毒鸡汤:路难行,行路难,-身汗水,满心长。脚下百里路,头顶艳阳天。坚定如磐石,信念似火烧。

> 望小伙伴们点赞👍收藏✨加关注哟💕💕

🌟前言

咱们今天很轻松,咱们讲讲故事,大家拿好小板凳。😘😘😘

⭐什么是STL

概念:

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

也就是说,咱们前面数据结构都可以库,顺序表,单链表,栈,队列....都可以调用库,有人就说,那学数据结构干毛,直接不学咯,我反手就是一巴掌,学习底层代码,是学习的必经之路,咱要脚踏实地,切不可一步登天。

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) 采用,可移植性好,可公开、修改甚至贩卖,从命名风格和编程风格上看,阅读性非常高。我们后面学习 STL 要阅读部分源代码,主要参考的就是这个版本。

可想而知,咱们c++的库是多样化的,相信咱这里也大佬,觉得目前STL用起来不爽,自己写一个,也行,正所谓每个勇士都需适合自己的刀,方可砥砺前行,咱们就先用用他人的,用起来还是合大众的。

STL的六大组件

容器:放数据---组织数据---本质:就是对常见的数据结构进行封装

算法:相当于把迭代器 和 容器 结合到了一块,算法写好以后每个容器都可以使用,就是迭代器的功劳。

迭代器:算法写好以后,让每个容器都可以使用。

适配器:STL迭代器适配器是指一些函数和类,它们可以将一个迭代器转换成另一个迭代器,或者修改一个迭代器的行为。这些适配器可以帮助我们更方便地使用STL中的算法和容器。

仿函数:STL仿函数(Function Object)是一种行为类似于函数的对象,它可以像函数-样被调用,但是它可以保存状态,可以有自己的成员变量和成员函数。STL仿函数可以作为STL算法的参数,用于指定算法的具体行为。

空间配置器:STL自己封装一个内存池---高效空间申请和释放以及对空间进行管理。

这里就了解了解,见见肉长啥个子样。🤪🤪🤪

STL的重要性

无论是在笔试还面试,都考察的重点。

比如说我们学习栈时的一道题目:用两个栈实现队列_牛客题霸_牛客网

怎么学习STL

在一本书上是这样写的《The C++ Standand Library》

 🌟结束语

      今天内容就到这里啦,时间过得很快,大家沉下心来好好学习,会有一定的收获的,大家多多坚持,嘻嘻,成功路上注定孤独,因为坚持的人不多。那请大家举起自己的小说手给博主一键三连,有你们的支持是我最大的动力💞💞💞,回见。

目录
相关文章
|
1月前
|
算法 编译器 C语言
STL基础介绍
STL基础介绍
39 0
|
3月前
|
存储 算法 编译器
|
3月前
|
算法 编译器 程序员
STL 简介(标准模板库)
STL 简介(标准模板库)
67 9
|
5月前
|
存储 算法 C++
C++一分钟之-标准模板库(STL)简介
【6月更文挑战第21天】C++ STL是高效通用的算法和数据结构集,简化编程任务。核心包括容器(如vector、list)、迭代器、算法(如sort、find)和适配器。常见问题涉及内存泄漏、迭代器失效、效率和算法误用。通过示例展示了如何排序、遍历和查找元素。掌握STL能提升效率,学习过程需注意常见陷阱。
59 4
|
4月前
|
存储 算法 数据处理
【C++】STL简介
**STL是C++标准库的关键部分,源于Alexander Stepanov的泛型编程研究。它提供了数据结构(如vector、list)和算法,是高效、通用的软件框架。STL始于惠普,后由SGI发展,现已成为C++1998标准的一部分并不断进化。它包括容器、迭代器、算法、仿函数、配接器和分配器六大组件,带来高效性、通用性和可扩展性,但也存在性能开销和学习难度。学习STL涉及理解底层数据结构、用法、实现和实践。推荐[cplusplus.com](https://cplusplus.com)作为学习资源。**
|
5月前
|
存储 算法 C语言
STL标准模板库《实战案例汇总》
STL标准模板库《实战案例汇总》
61 1
|
6月前
|
算法 安全 Linux
【C++】STL简介(了解)
【C++】STL简介(了解)
|
6月前
|
算法 安全 Linux
【c++】STL简介(了解)
【c++】STL简介(了解)
【c++】STL简介(了解)
|
6月前
|
算法 安全 Linux
【C++】—— STL简介(了解)
【C++】—— STL简介(了解)
|
6月前
|
机器学习/深度学习 算法 C++
C++模板与STL【STL概述】
C++模板与STL【STL概述】