STL基础知识

STL基础知识

​ STL的全称是,standard template library,中文译名为标准模板库,其包含有大量的模板类和模板函数,是 C++ 提供的一个基础模板的集合,用于完成诸如输入/输出、数学计算等功能。它位于各个 C++ 的头文件中,即它并非以二进制代码的形式提供,而是以源代码的形式提供 。

​ 在C++中,STL具体指:容器、算法和迭代器,它借助模板把常用的数据结构及其算法都实现了一遍,并且做到了数据结构和算法的分离

特性

STL具有以下特性:

  • 它将容器和算法之间通过迭代器进行无缝连接
  • 几乎所有的代码都采用了模板类和模板函数

STL六大组件:容器、算法、迭代器、仿函数、适配器、空间配置器

  1. 容器:各种数据结构,如vector、list、deque、set、map等,用来存放数据。
  2. 算法:各种常用的算法,如sort、find、copy、for_each等
  3. 迭代器:扮演了容器与算法之间的胶合剂
  4. 仿函数:行为类似函数,可作为算法的某种策略
  5. 适配器:一种用来修饰容器或者仿函数或迭代器接口的东西
  6. 空间配置器:负责空间的配置与管理

容器分为两大类:顺序容器和关联式容器

  • 顺序容器:强调值的排序,每个元素均有固定的位置
  • 关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序
  • 容器放入元素都是值传递,而非引用传递,向容器放入元素是是复制一份进去

迭代器的种类:主要支持后三种,迭代器是一个类,这个类封装了指针

种类功能支持运算
输入迭代器对数据的只读访问++、==、!=
输出迭代器对数据的只写访问++
前向迭代器读写操作,并能向前推进迭代器++、==、!=
双向迭代器读写操作,并能向前向后操作++、–
随机访问迭代器读写操作,可以以跳跃的方式访问任意数据,功能最强的的迭代器++、–、[n]、-n、<、<=、>、>=
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值