STL教程(一): 标准模板库--STL概述

C++ STL是标准模板库,包含迭代器、算法、容器和仿函数等核心组件。常见的容器如vector、list、map等,提供了动态扩展和数据管理的功能。算法如排序、查询等,通过迭代器实现对容器的操作。仿函数则增强了函数对象的使用。此外,内存配置器和配接器如istream_iterator提供了更多灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

一、容器

STL提供了很多类型的容器,包括:

  • vertor< T >: 一种支持动态扩展的数组容器
  • list < T>:      双向链表容器
  • queue< T>:  队列容器
  • statck< T>:  栈容器
  • deque< T>: 双端队列容器
  • priority_queue< T>: 优先级队列容器
  • set< T>:  集合容器
  • multiset< T>: 一种容许存在重复元素的集合容器
  • map< key, val>:一种映射关联容器
  • multimap<key,val>:一种允许存在重复key值的映射关联容器

另外,若要将某对象放入上述容器中进行管理,则其要必须满足以下三个条件:

  1. 元素必须是可复制的
  2. 元素必须是可指派(修改)的
  3. 元素内存必须是可释放的,即析构函数不能为private

二、算法

除了容器外,STL还为我们提供了大量非常简单好用的算法,功能包括但不限于查询、排序、赋值、修改、数值运算等,这些算法都是以模板的形式在命名空间std内实现的。借助迭代器,STL的算法函数可以用于任意容器。

三、迭代器

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

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

迭代器的作用主要是:用来遍历容器,使算法能够不依赖容器而完成特定任务,迭代器的出现使算法和容器分离成为可能。

四、仿函数

  仿函数(functor),就是使一个类的使用看上去象一个函数:其实其就是在类中实现一个operator(),使这个类有了类似函数的行为,就是一个仿函数类了。仿函数可以理解为函数的一般形式,仿函数通过运算符定义显著提高了代码运行效率。

5、内存配置器及配接器

最常用的配接器有istream_iterator,提供了函数copy的接口。

另外STL还提供了3种容器配接器:stack< Container>,queue< Container>、deque< Container>。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Chiang木

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

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

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

打赏作者

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

抵扣说明:

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

余额充值