码迷,mamicode.com
首页 > 其他好文 > 详细

STL 简介

时间:2019-11-22 00:42:12      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:加锁   迭代   配置   模板库   使用   缺陷   通用   mic   中间   

STL是c++提供的标准模板库,其中封装有常用的通用算法、数据结构。是可复用的组件库。STL有六个组件,分别是容器、算法、迭代器、适配器、仿函数、空间配置器。

1.容器:如数组、各种表、树、图等数据结构。用模板方式封装的。

2.算法:与具体数据结构相关的算法,通用类型算法。

3.迭代器:让数据结构透明化,不关心数据采用什么数据结构。

4.适配器:栈和队列等。

5.仿函数:可以向函数一样使用的对象,让算法更加灵活。

6.空间配置器:负责申请和释放空间,并对空间进行管理。

C++98的STL:

技术图片

 

 

STL的缺陷 :
1. STL库的更新太慢了。这个得严重吐槽,上一版靠谱是C++98,中间的C++03基本一些修订。C++11出 来已经相隔了13年,STL才进一步更新。

2. STL现在都没有支持线程安全。并发环境下需要我们自己加锁。且锁的粒度是比较大的。

3. STL极度的追求效率,导致内部比较复杂。比如类型萃取,迭代器萃取。

4. STL的使用会有代码膨胀的问题,比如使用vector/vector/vector这样会生成多份代码,当然这是模板语 法本身导致的。

 

 

STL 简介

标签:加锁   迭代   配置   模板库   使用   缺陷   通用   mic   中间   

原文地址:https://www.cnblogs.com/fengkun/p/11909227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!