【目录】全面理解C++ STL标准模板库_紫荆鱼的博客-程序员秘密

技术标签: C/C++  c++  容器  vector  stl  list  

作者寄语:用心写好每一篇文章,一起进步


0.什么是STL

(来源于百度百科
STL概念:标准模板库(Standard Template Library,STL)
STL三类

  1. algorithm(算法)
  2. container(容器)
  3. iterator(迭代器)

STL作用:几乎所有的代码都采用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。



1.容器

1.1序列容器(持续更新,敬请期待)

链接点击跳转 有的为更新完成,可点击跳转

1. array
2.vector
3.list
4.deque

1.2关联容器

1.set/multiset
2.map/multimap
3.unordered_containers

2.迭代器

1.输入迭代器
2.输出迭代器
3.前向迭代器
4.双向迭代器
5.随机访问迭代器

3.算法

1.非可变序列算法
2.可变序列算法
3排序算法
4.数值算法


#endif
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_46655373/article/details/122244025

智能推荐

ConcurrentHashMap线程安全问题_concurrenthashmap remove和put同时执行同一个key_爱上香锅的麻辣的博客-程序员秘密

其实ConcurrentHashMap的put方法跟普通的HashMap没什么区别,如果key相同,依然会覆盖。要想达到不覆盖,我们可以使用putIfAbsent()方法。

mysql 多主键_MySQL多字段主键_探索生活的少女的博客-程序员秘密

MySql多字段主键又可以成为复合主键,复合主键也是主键的一种与主键具有相同的功能和定义,所谓的复合主键,就是指表的主键含有一个以上的字段组成 。MySQL多字段主键又可以成为复合主键。复合主键也是主键的一种与主键具有相同的功能和定义。什么是数据表的复合主键 ?所谓的复合主键,就是指你表的主键含有一个以上的字段组成 。例如:create table test(name varchar(19),id...

win7 64位 php环境开启curl服务Call to undefined function curl_init()_过滤阳光的博客-程序员秘密

无法使用curl_init(),一般情况问题可能出在没有去加载php的扩展文件php_curl.dll(windows操作系统),但是检查了一下系统配置,发现,环境下已经将php.ini文件里;extension=php_curl.dll修改为extension=php_curl.dll但是还是报Call to undefined function

前端学习必看书籍推荐!_大厂前端工程师的博客-程序员秘密

随着前端的发展,越来越多的新的技术逐渐出现,下面推荐几本前端从业者必看的书籍给大家,希望能帮到大家。《javacript设计模式》本书为爱创课堂创始人张容铭老师亲自撰写的,爱创课堂目前专注前端培训,由张老师亲自授课。《JavaScript设计模式》分为6篇,共40章。第一篇主要讲述JavaScript面向对象编程基础知识,章节之间知识点连贯,因此,建议读者顺序阅读,并且该篇也是后续5篇的基础...

[SPDK/NVMe存储技术分析]011 - 内核态ib_post_send()源码剖析_weixin_30575309的博客-程序员秘密

OFA定义了一组标准的Verbs,并在用户态提供了一个标准库libibverbs。例如将一个工作请求(WR)放置到发送队列的Verb API是ibv_post_send(), 但是在Linux内核,对应的API则是ib_post_send()。本文将使用Linux内核提供的mlx5卡(Mellanox公司生产的一种HCA卡)的驱动(mlx5_ib.ko)分析内核Verb API ib_post_s...

STM32CUBE_MX_STM32F030C8T6_USART_TX应用_liuxinyong236的博客-程序员秘密

初始设置:SYS  :debug_serial_write  勾选   timebase_source选择systick      RCC:默认内部时钟所有不需要做任何修改需要注意的是:如果想用IWDG,则在调试代码时需要先关闭之,否则系统不能正常运行,下面开始设置USART,如下图接着设置通讯参数(之前的系统时钟配置为48MHz):             补充一下,这里要实

随便推点

C++ primer(第五版)第7章习题答案_std::ostream& print(std::ostream& os, const person_つき的博客-程序员秘密

第7章 类7.1#include "../ch02/ex2_42_sales_data.h"int main(){ Sales_data total; if (std::cin >> total.bookNo >> total.units_sold >> total.revenue) { Sales_data tr...

人工智能的崛起:智商测试得分超过四岁儿童_weixin_34160277的博客-程序员秘密

研究人员最近对一个名叫ConceptNet的人工智能系统进行了测评。在一项为检测儿童智商而设计的测中,ConceptNet的得分超过了一名智商正常的四岁儿童。 该测试共包含五项与词语推理和词汇有关的测验,ConceptNet的总得分为69分,与之进行对比的学龄前儿童得分则为50分。并且专家认为,该系统的智能程度还会进一步加强。在测试过程中,试题会通过语言处理工具转换成ConceptNet 4能够理...

如何在iOS上创建矢量图形_cunjie3951的博客-程序员秘密

介绍 数字世界中的图形资源有两种基本类型,栅格和矢量。 光栅图像本质上是像素强度的矩形阵列。 另一方面,矢量图形是形状的数学表示。 在某些情况下,光栅图像是不可替代的(例如照片),在其他情况下,矢量图形可以替代。 矢量图形使为多个屏幕分辨率创建图形资源的任务变得微不足道。 在撰写本文时,在iOS平台上至少要应对六种屏幕分辨率。 关于矢量图形的最好的事情之一是,它们可以呈现为任何分辨率,...

好程序员web前端分享18个用CSS制作出来的东西_好程序员IT的博客-程序员秘密

好程序员web前端分享18个用CSS制作出来的东西,与流行的看法相反,CSS不仅仅是用来提供一个WEB页面的基本风格,以使它看起来更有吸引力。还有很多其他的事情,CSS也可以做的很好。由于它创建动画和交互的能力,CSS集合HTML以及JavaScript给WEB开发者提供了尝试不同方法的机会。  浏览器就像一个空的画布,WEB开发者可以在这里尽情的发挥。下面是18个人们用CSS创建的又酷...

Android开发教程--如何保持屏幕常亮_wanglixin1999的博客-程序员秘密

我们大家在用手机的时候,会遇到这样的一个问题,就是想让我们的手机屏幕一直亮着怎么办。大家会想到的是,在手机设置里有一个不省电模式,选择这个就可以了,但是我们要在代码中是怎么样办那,有两种方法就可以解决这个问题。第一种方法:大家想一想,我们在android里那个地方老是常定义权限呀,有了这个提示,大家就会想到是哪个文件了吧,AndroidManifest.xml:我们要在

推荐文章

热门文章

相关标签