STL库简述

STL库简述STL简述STL库包含六个大类:容器库算法库迭代器库配置器(allocator)适配器(adaptor)仿函数(函数对象)其中后四个类主要为前两个类服务。其中使用频率最高的就是容器库,迭代器库,算法库。容器库为我们提供了存储数据的数据结构,算法库则是我们操作数据结构的算法,迭代器库作为容器库和算法库的黏合剂。容器库容器库整体分为序列型容器,关联型容器,容器适配器。1.序列型容器主要包括list,vector,deque,set。以vector作为学习实例:S

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

STL简述

STL库包含六个大类:

  • 容器库
  • 算法库
  • 迭代器库
  • 配置器(allocator)
  • 适配器(adaptor)
  • 仿函数(函数对象)

其中后四个类主要为前两个类服务。
其中使用频率最高的就是容器库,迭代器库,算法库。容器库为我们提供了存储数据的数据结构,算法库则是我们操作数据结构的算法,迭代器库作为容器库和算法库的黏合剂。


容器库

容器库整体分为 序列型容器 , 关联型容器 , 容器适配器。

1.序列型容器

主要包括 list,vector,deque, array。
以vector作为学习实例:
STL 容器(一) vector

适配器容器 stack,queue,priority_queue 也属于序列型容器,叫它们适配器容器的原因是这些容器的底层是采用vector,deque等现有容器的功能,如stack和queue的底层是采用deque,而priority_queue则是采用vector。
学习实例:
STL 适配器adapter

2.关联型容器

主要包括 map,unordered_map,set,unordered_set 这些key-value存储结构的容器或者以集合形式存在的容器。
学习实例:
STL 容器(二) set,unordered_set
STL 容器(三) map和unordered_map


算法库

算法库整体包括 algorithm库。
algorithm则包括了我们常用的算法;
学习实例:
STL 算法库algorithm


迭代器库

迭代器库整体包括 iterator 库。
迭代器库作为算法库与容器库之间的黏合剂,起到了非常重要的作用。
学习实例:
STL 迭代器(一) 迭代器操作详解
STL 迭代器(二) 迭代器失效情况分析


适配器(adaptor)

适配器分为 容器适配器 和 函数适配器,功能在于将两个不相同的模块结合到一起。
学习实例:
STL 适配器adapter


配置器(allocator)

配置器的功能在于定义类中内存的分配,正常情况下程序员是不会自定义内存的分类的。
学习实例:
STL 配置器allocator 实现vector类


仿函数(函数对象)

实质上也就是将一个类的使用近似看成函数的使用,也就是在类内部使用 operator()
学习实例:
STL 仿函数(一) bind函数回调
STL仿函数(二) bind1st,bind2nd

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183310.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言return x_没有return

    c语言return x_没有returnint GetX() const;int 表示函数返回值为复int型;()为空表示该函数不需要参数制;const 表示该函数不修改百任何值;加起来就是:定义一个返回值类型为度 int 参数为void 名为GetX 的常知函数;类的常对象只道能调用这种常成员函数。const修饰知变量的时候,表示该变量是常量,也就是不可以改变的变量。当const放在成员函道数”尾巴”上修饰成员函数时,则…

    2022年8月18日
    6
  • 贪吃蛇–[纯C实现]–[一步一步的讲解]–【有音乐】

    贪吃蛇–[纯C实现]–[一步一步的讲解]–【有音乐】目录一、游戏说明1.1游戏按键说明1.2计分系统二、游戏运行2.1游戏效果展示2.2一个报错的纠正2.3游戏代码三、游戏框架构建3.1游戏界面的大小3.2蛇头和蛇身3.2.1蛇头3.2.2蛇身3.3标记游戏区3.3.1存储游戏区的各个位置是什么3.3.2用宏来使某些数字具有特殊意义3.4菜单栏的设置四.隐藏光标的设置4.1光标信息的结构体成员4.2隐藏光标的实现4.3GetStdHandle函数使用介绍4.4…

    2025年9月13日
    5
  • C语言中sprintf()函数的用法

    C语言中sprintf()函数的用法sprintf函数的用法1、该函数包含在stdio.h的头文件中。2、sprintf和平时我们常用的printf函数的功能很相似。sprintf函数打印到字符串中(要注意字符串的长度要足够容纳打印的内容,否则会出现内存溢出),而printf函数打印输出到屏幕上。sprintf函数在我们完成其他数据类型转换成字符串类型的操作中应用广泛。3、sprintf函数的格式:intsprintf(

    2022年6月15日
    32
  • DenseNet详解[通俗易懂]

    DenseNet详解[通俗易懂]其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。书的购买链接 书的勘误,优化,源代码资源一、概述作为CVPR2017年的BestPaper,DenseNet脱离了加深网络层数(ResNet)和加宽网络结构(Inception)来提升网络性能的定式思维,从特征的角度考虑,通过特征重用和旁路(Byp…

    2022年9月29日
    1
  • 扩展卡尔曼滤波算法及仿真实例[通俗易懂]

    扩展卡尔曼滤波算法及仿真实例[通俗易懂]在阅读本篇博客之前希望读者已经具备线性卡尔曼滤波器的基础,或者提前研读我的前一篇关于线性卡尔曼滤波器的文章:线性卡尔曼滤波算法及示例。下面不说废话,直奔主题了。一、扩展卡尔曼滤波器(EKF)理论基础扩展Kalman滤波器算法实质上是一种在线线性化技术,即安装估计轨道进行线性化处理—-泰勒级数展开,再进行线性的Kalman滤波。实际非线性滤波处理,通常对过程噪声和观测噪声近似为高斯分布,…

    2022年6月22日
    103
  • sqlserver数据库置疑修复语句_sql2008数据库可疑解决方法

    sqlserver数据库置疑修复语句_sql2008数据库可疑解决方法SQL数据库修复的三大核心技术:1、磁盘阵列分析重组技术;2、数据库恢复与修复技术;3、SCSI盘物理故障开盘技术。至今已经成功恢复数百台服务器的SQL数据库,用户覆盖全国。导致SQL数据库丢失的原因:1、各种原因:误删除、误格式化、断电等造成的MSSQLSERVER数据库文件破坏。2、MSSQLSERVER数据库丢失了*.ldf文件,只有一个*.MDF文件,将是非

    2022年8月20日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号