Loading... # STL概述 ## 1.1stl的基本概念 <div class="tip inlineBlock share"> STL(Standard Template Library,标准模板库),是<span style="color:#9932CC">惠普实验室</span>开发的一系 列软件的统 称。现在主要出现在C++中,但是在引入c++之前该技术已经存在很长时间了。 STL从广义上分为:<span style="color:#9932CC">容器(container)算法(algorithm)迭代器iterator</span>,容器和算法之间通过迭代器进行无 缝连接。STL几乎所有的代码都采用了模板类或者模板函数,这相比传统的由函数和类组成的库来说 提供了更好的代码重用机会。STL(Standard Template Libry)标准模板库,在我们C++标准程序库中隶属 于STL的占到了80%以上。 </div> ## 1.2 stI的六大组件 <div class="tip inlineBlock info"> * 容器:保存数据的空间结构vector queue deque map set list . * 算法:特定的求解步骤sort find for_ each ... * 迭代器:本质是一个指针 * 仿函数:函数对象重载了operator()的类 * 适配器:用来修饰仿函数的(- 般用来扩展参数接口) * 空间配置器:负责内存空间的申请释放管理等等 </div> ## 1.3 STL优点 > STL是C++的一部分,因此不用额外安装什么,它被内建在你的编译器之内。 > STL的一-个重要特性是将数据和操作分离。数据由容器类别加以管理,操作则由可定制的算法定义。迭代器在两者 > 之间充当“粘合剂",以使算法可以和容器交互运作 > 程序员可以不用思考STL 具体的实现过程,只要能够熟练使用STL 就OK了。这样他们就可以把精力放在程序 > 开发的别的方面。 > STL具有高可重用性,高性能,高移植性,跨平台的优点。 > 高可重用性:STL中几乎所有的代码都采用了模板类和模版函数的方式实现,这相比于传统的由函数和类组成的库 > 来说提供了更好的代码重用机会。关于模板的知 > 识,已经给大家介绍了。 > 高性能:如map可以高效地从十万条记录里面查找出指定的记录,因为map是采用红黑树的变体实现的。 > 高移植性:如在项目A上用STL 编写的模块,可以直接移植到项目B上。 最后修改:2021 年 04 月 12 日 © 禁止转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏