当前位置: 首页 > news >正文

【STL】STL入门(9)

何为STL

STL(Standard Template Library,标准模板库)C++标准库的一部分,是用C++ Template(模板)机制来表达泛型的库。 

模板-》例如:函数模板-》目标用于扩展函数的使用场景。

泛型-》是指非特定类型(特定类型:int 、float 、指针、数组、结构体、类等等)-》一个瓶子如果只能用于装水,那么用途大大受限,理所当然应该能够装水、装油、装酒等等。

STL就是解决这样的 “瓶子” 问题——不依赖于数据结构,将算法与数据结构分离,得到极大的弹性。它包括­六大组件:

  • 容器(Container)
  • 算法(Algorithm)
  • 迭代器(Iterator)
  • 仿函数(Function object)
  • 适配器(Adaptor)
  • 空间配制器(allocator)

其中前面三个是重点,值得注意的是,并非 ACMer  才会使用它,往往在解决实际问题中,STL能够发挥很大的作用。

怎么使用STL

包含命名空间: using namespace std;

包含指定的头文件:

常用STL组件
STL组件相应头文件
algorithm  #include <algorithm>         算法
vector  #include <vector>              向量
list  #include <list>                   双向链表
queue  #include <queue>             队列
deque  #include <deque>             双向队列
priority_queue  #include <queue>             优先队列
stack  #include <stack>               栈
set  #include <set>                   集合
map  #include <map>                  映射
multiset  #include <set>                   多重集合
multimap  #include <map>                 多重映射

 

相关文章:

  • 超市积分管理系统(Java+Web+MySQL)
  • 超级简单的机器学习入门
  • 基于SSM跨境电商网站的设计与实现/海外购物平台的设计
  • Flutter——常用布局
  • RBF神经网络python实践学习(BP算法)
  • _Linux 动态库
  • spring5(一):概述
  • C++基础知识梳理<2>(引用、内联函数、auto关键字) [入门级】
  • Halcon图像分割总结
  • 学习笔记-WinRM
  • Java内存模型与volatile
  • LIO-SAM中的mapOptmization
  • Pandas数据处理可视化
  • NA of optical fiber(光纤的数值孔径)
  • 花了整整一天,总结了C语言所有常用的文件操作
  • 2022 年十大 Python Web 开发框架
  • Go语言学习(五)-- 函数和闭包
  • 【数据结构】链表其实并不难 —— 手把手带你实现单链表
  • LeetCode每日一题——754. 到达终点数字
  • 有一个是对的,就是坚持去做难的事情。