标准模板库学习(1)----什么是STL

先跳过类和对象部分,我们先来了解一下C++中的标准模板库。标准模板库,Standard Template Library,简称STL。STL作为C++的补充,包括了容器、算法和迭代器等内容,可以使得编程更加高效和简洁。容器实现了多个类型的数据结构和一些相关操作;算法提供了排序、查找、替换等功能,容器和算法之间则是通过迭代器进行衔接。

STL组件

STL是为了建立算法和数据结构之间的标准,它的代码中的绝大部分都采用了函数模板和类模板。主要有六大组件:

容器:各种数据结构,vector、list、map、set等

算法:常用的算法

迭代器:将算法和容器进行衔接

仿函数:行为类似函数,可以作为算法的某种策略,

适配器:修饰容器、迭代器或仿函数接口

空间配置器:顾名思义,配置和管理空间

前面三个是最核心的组件,需要重点掌握。

容器

容器就是装东西用的,这里装的就是数据,容器中的数据不同,用的容器也是不一样的,比如喝水用杯子,吃饭用碗,各种各样的容器有其自身的特殊用处。数据也是一样的,有数组,有链表等等,对于不同的数据要采用对应的容器。

容器主要是分为两类,一种是序列容器,一种是结合容器。

序列容器主要强调数据的顺序,该类容器中但是的数据都有一个固定的位置,但是容器中的元素并没有做排序操作,比如一组数据 1,3,4,2,0,那么容器中的存放的时候依然是1,3,4,2,0。但是结合容器中的元素是经过排序的,刚才的数据放入结合容器可能就是0,1,2,3,4这样的结果。

算法

算法就是用来解决问题的方法。STL提供了算法库,算法有四类:修正序列算法、非修正序列算法、排序算法和数值算法。

迭代器

迭代器作为容器和算法之间的通讯员,可以在容器内自由移动,按顺序访问容器中的各个元素,并且不需要暴漏容器的内部表示方式。打个比方,迭代器是通讯员,算法就是通行证,而容器就是凭借该通行证可以访问的通行区。每一个容器都有自己专属迭代器,迭代器类似于指向容器中元素的指针,包括输入、输出、前向、双向和随机访问迭代器。

STL的基本了解就到此,之后会分别进行主要组件的用法介绍。

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值