STL基础

STL(标准模板库):是C++标准库的重要组成部分。借用STL源码剖析这本书中的一句话:

为了建立数据结构和算法的一套标准,并且降低其间的耦合关系以提升各自的独立性、弹性、交互操作性,C++诞生了STL。

由此可见STL相对于C++来说是相当的重要了 。STL由六大组件构成:

  1. 容器:各种的数据结构,用来存放数据;分为关联式容器(map、set)和非关联式容器(string、vector、list等)
  2. 算法:各种常用的算法在STL中都提供了;如sort、search、find、swap
  3. 迭代器:容器中的数据使用算法的桥梁就是迭代器,由于每种容器遍历的方式不同,故每种容器都有其自己的迭代器,有iterator(正向)和reverse_iterator(反向)迭代器,自身都实现了*、->、++、--等操作
  4. 仿函数:主要功能是搭配STL中的算法使用,在类中实现operator( ),让类有了函数的行为
  5. 配接器(容器适配器):有stack、queue和priority_queue,是各种容器的底层实现。不支持迭代器的相关操作,有push、pop来操作元素
  6. 空间配置器: 负责空间的分配、管理。实现了动态开辟时的空间配置、空间管理、空间释放

STl组件之间的关系:容器通过空间配置器获得存储数据的空间,算法通过迭代器存取容器的内容,仿函数可以帮助算法完成不同的策略变化,配接器可以修饰仿函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值