STL教程之(1)标准模板库简介

在这里插入图片描述

STL是C++通用库,主要由迭代器、算法、容器、仿函数、内存分配器和配接器组成。
STL主要的主要功能都被声明在13个头文件中,它们分别是:< algorithm >、< deque >、< functional >、< iterator>、< vector>、< list>、< map>、< memory>、< numeric>、< queue>、< set>、< stack>、< utility>。

下面分别介绍各组成部分:

1、容器
STL中已经提供的容器(序列式容器和关联式容器)主要包含以下内容:

  • vertor< T >: 一种向量

  • list < T>: 一种双向链表容器,完成C++中链表的所有功能

  • queue< T>: 一种队列容器,完成C++中队列的所有功能

  • statck< T>: 一种栈容器,完成C++中栈的所有功能

  • deque< T>: 一种双端队列容器,完成C++中所有栈的功能

  • priority_queue< T>:是一种按值排序的队列容器

  • set< T>: 一种集合容器

  • multiset< T>: 一种容许重复元素的集合容器

  • map< key, val>:一种关联数组容器

  • multimap< key,val>:一种容许出现重复key值的关联数组容器
    STL提供的每种容器都提供了许多操作行为和变量成员以及迭代器,作为容器的成员,必须满足以下三个条件:

  • 元素必须是可复制的

  • 元素必须是可指派(修改)的

  • 元素内存必须是可释放的,即析构函数不能为private

容器经常使用到的数据结构包括:string字符串、bitset、valarray。

2、算法
STL为我们提供了大量非常好用的数据结构算法,包括查询、排序、赋值、修改、数值运算等,这些算法都是以模板的形式在命名空间std内实现的,通过迭代器的协助,算法程序可以用于任意容器,使用算法时需要包含< algorthm>来获取使用权。

3、迭代器
迭代器大概可以分为五种类型,分别是:

  • 输入迭代器
  • 输出迭代器
  • 前向迭代器
  • 双向迭代器
  • 随机访问迭代器(功能最为强大)

迭代器用来在一个对象集群集的元素上进行遍历工作,对象集群可以是容器,也可以是容器的一部分,迭代器主要是为容器提供一组很小的公共接口,利用这个接口,某项操作可以行进至集群内的任意位置。不同类型的数据,迭代器也不相同,迭代器主要用来遍历容器,使算法能够不依赖容器而完成特定任务,迭代器的出现使算法和容器分离成为可能。

4、仿函数
仿函数可以理解为函数的一般形式,仿函数通过运算符定义显著提高了代码运行效率。

5、内存配置器及配接器
最常用的配接器有istream_iterator,提供了函数copy的接口。另外STL还提供了3种容器配接器:stack< Container>,queue< Container>、deque< Container>。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Chiang木

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

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

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

打赏作者

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

抵扣说明:

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

余额充值