STL——STL简介、STL六大组件
一、STL是什么
STL(standard template library):
C++标准模板库,是C++标准库的重要组成部分,不仅是一个可复用的组件库,还是一个包罗数据结构与算法的软件框架。
通俗来讲:
STL就是将常见的数据结构(顺序表、链表、栈、队列、堆、哈希……)以模板的方式进行封装,并提供一些通用灵活的算法。
二、STL的六大组件
1.容器
功能:组织数据,将常见的数据结构封装起来。
1.1序列式容器--线性结构
C++98提供:
string:动态类型顺序表(char)
vector:动态类型顺序表(任意类型数据)
list:带头节点双向循环链表
deque:双端队列
C++11提供:
array:静态类型顺序表
forward_list:带头节点单向循环链表
1.2关联式容器
map、set、multimap、multiset
2.算法
find、swap、reverse、sort……
3.迭代器
iterator、const_iterator、reverse_iterator、const_reverse_iterator
迭代器:本质是指针,用法与指针类似。
目的:让算法可以透明化的操作具体的容器。
4.适配器(配接器)
stack、queue、priority_queue
5.仿函数
greater、less……
仿函数可以像函数一样使用功能的对象,目的是可以让算法功能更加灵活。
6.空间配置器
allocator
STL——STL简介、STL六大组件相关推荐
- 泛型编程、STL的概念、STL模板思想及其六大组件的关系,以及泛型编程(GP)、STL、面向对象编程(OOP)、C++之间的关系
介绍STL模板的书,有两本比较经典: 一本是<Generic Programming and the STL>,中文翻译为<泛型编程与STL>,这本书由STL开发者 Matth ...
- STL标准库六大组件
2019独角兽企业重金招聘Python工程师标准>>> STL六大组件简介 1.容器(Containers):各种数据结构,如Vector,List,Deque,Set,Map,用来 ...
- (P72)stl(一):泛型程序设计,什么是STL,STL六大组件及其关系
文章目录 1.泛型程序设计 2.什么是STL 3.STL六大组件及其关系 1.泛型程序设计 泛型编程(generic programming) 类属编程 将程序写得尽可能通用 将算法从数据结构中抽象出 ...
- 《STL源码剖析》学习--六大组件
stl 提供了六大组件,分别为:容器.算法.迭代器.仿函数.适配器和配置器. 容器通过配置器取得数据存储空间,算法通过迭代器存取容器的内容,仿函数可以协助算法完成不同的策略,配接器可以修饰或者嵌套仿函 ...
- STL —— STL六大组件
注:以下内容摘自 http://blog.csdn.net/byxdaz/article/details/4633826 STL六大组件 容器(Container) 算法(Algorithm) 迭代器 ...
- STL六大组件 功能与运用(略写)
1.容器: 各种数据结构:如vector list deque set map,用来存放数据 容器类是容纳.包含一组对象或对象集的对象,通过容器类提供的成员函数可以实现对序列元素的各种操作. 什么是容 ...
- 详解 C++ STL 六大组件,看完不懂打我...
STL 提供了六大组件,彼此组合套用协同工作.这六大组件分别是: 容器(Containers):各种数据结构,如 vector.list.deque.set.map 等.从实现的角度来看,容器是一种 ...
- [STL]六大组件介绍(目录 全)
一般介绍 STL(Standard TemplateLibrary),即标准模板库,是一个具有工业强度的,高效的C++程序库.它被容纳于C++标准程序库(C++ Standard Library)中, ...
- c++中algorithm头文件、STL库简介及使用说明
c++中algorithm头文件.STL库简介及使用说明 c++中algorithm头文件是STL的算法部分,里边定义了各种算法,比如sort之类的.加上algorithm就可以使用stl库里的各种算 ...
最新文章
- 英伟达显卡bios修改工具_终于可以吃鸡了!英伟达入门级图灵显卡1650S开卖,性能提升25%...
- java8-4 多态的练习以及题目
- HDU 6325 Problem G. Interstellar Travel(凸包)
- 为什么每个线程都需要创建一个栈?
- vscode python print 输出窗口中文乱码
- VirtualBox中使用双网卡实现CentOS既能上网(校园网)也能使用SSHclient
- mysqluuid去除横岗
- Storm-源码分析-Streaming Grouping (backtype.storm.daemon.executor)
- r语言算巢式设计方差分析_R语言进行方差分析
- 注册(五)之请求处理
- rgba与16进制颜色格式互转
- 计算机硬盘大小一般都是整数,电脑硬盘如何精准整数分区
- metabase开源BI
- Linux 查看CPU温度
- 知识图谱和行业领域的结合产物-KGB知识图谱介绍
- 前端开发工程师职位要求
- PostgreSQL小数修约
- 互联网寒冬!docker安装nacos集群
- Mac Xnip 截图软件快捷键设置
- 超市收银系统c语言程序用c 的,C语言 超市收银系统