一、STL六大组件
1)容器(Container)
2)算法(Algorithm)
3)迭代器(Iterator)
4)仿函数(Function object)
5)适配器(Adaptor)
6)空间配置器(allocator)

二、容器底层实现
1)vector:底层数据结构为数组 ,支持快速随机访问
2)list:底层数据结构为双向链表,支持快速增删
3)deque:底层数据结构为一个中央控制器和多个缓冲区,支持首尾快速增删,也支持随机访问
4)set:底层数据结构为红黑树,有序,不重复
5)multiset:底层数据结构为红黑树,有序,可重复
6)map:底层数据结构为红黑树,有序,不重复
7)multimap:底层数据结构为红黑树,有序,可重复
8)unordered_set:底层数据结构为hash表,无序,不重复
9)unordered_multiset:底层数据结构为hash表,无序,可重复
10)unordered_map:底层数据结构为hash表,无序,不重复
11)unordered_multimap:底层数据结构为hash表,无序,可重复
12)stack:底层一般用deque、list实现
13)queue:底层一般用deque、list实现
14)priority_queue:底层一般用vector实现,堆heap为处理规则

三、仿函数
1)unary_function:一元仿函数
2)binary_function:二元仿函数
3)bind1st:把二元函数对象绑定成为一元函数对象(绑定第一个参数)
4)bind2nd:把二元函数对象绑定成为一元函数对象(绑定第二个参数)

转载于:https://www.cnblogs.com/lianghuiwen/archive/2013/05/08/3067812.html

STL - 底层实现相关推荐

  1. C++ 实现 STL 标准库和算法(二)template 编程和迭代器粗解 实验楼笔记

    一.template 编程和迭代器粗解 1.1 实验内容 本节内容主要讲述 c++11 模板的用法,以后的代码中会大量的用到模板的知识.同时简单讲解迭代器的相关知识,为后面容器和算法的内容作铺垫. 1 ...

  2. C++ STL : 模拟实现STL中的容器适配器stack和queue

    目录 什么是容器适配器 stack stack的文档介绍-(来自cplusplus) stack的实现 queue queue的文档介绍-(来自cplusplus) queue的实现 什么是容器适配器 ...

  3. C++---STL中迭代器失效的总结

    我们在使用STL底层给我们提供的一些容器的时候,当我们给一个容器中增加(insert)或删除(erase),最有可能出现迭代器失效. 什么是迭代器失效 在对容器进行操作的时候,由于一些操作,使得元素保 ...

  4. STL工具书(常用用法总结)

    STL工具书(常用用法总结) 此博客可用于常用STL用法的快速查询与使用, 对于原理方面可以查阅相关文档. 目录 STL工具书(常用用法总结) 1. 容器 1.1 序列式容器 1. 数组(array) ...

  5. 史上STL最最最最最最全工具书,看我就够了

    写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人.欢迎关注与留言. 注意:这篇博客默认: 第一,你已经明了基本的数据结构的知识, ...

  6. STL标准库常见面试题(一)

    本博客内容: 参考:https://blog.csdn.net/tianya_team/article/details/50753759 https://www.cnblogs.com/wulala1 ...

  7. STL中的__is_trivial定义在哪里?

    在查看stl源代码的时候,会发现std::is_trivial也是利用了__is_trivial,但是在STL查找,却没追踪到__is_trivial的定义,何解?百度了半天,也没发现谁准确地讨论了_ ...

  8. 拜托,别问我什么各种Tree了,干就完事!

    此动画内容为本文目录,时常一分钟,觉得太花时间可以跳过.本来一个思维导图可以搞定.但这一次尝试下这种方式,先放松放松. 一. 二叉树 二叉树是每个节点最多有两个子树的树结构.它有五种基本形态:二叉树可 ...

  9. Linux后台开发必看!

    来自:我是程序员小贱 一 自我介绍二 面试情况三 相关知识点汇总1 c/c++相关2 计算机网络3 数据结构相关4 数据库相关5 操作系统6 Linux基础知识及应用编程(后台必备!)7 大数问题8 ...

最新文章

  1. android文件系统\busybox文件系统的启动介绍
  2. 关于Mybatis的各种配置文件
  3. 关闭uboot MMU 会导致android2.3 S5pv210 系统不稳定?!why
  4. 华为发布基于自进化AI的HiSec Insight安全态势感知系统
  5. python实验八分支语句_python语句(分支,循环)
  6. 计算机视觉,凉了?!
  7. Gulp和Webpack对比
  8. IntelliJ IDEA的安装详解
  9. Static allocator 3
  10. Unity3D实践3:BOSS血条
  11. 三层交换机连接路由器时配置OSPF注意事项
  12. 全国医疗机构勒索病毒事件公告:阿里云发布公益行动
  13. 两个app应用之间的跳转
  14. 全国省市区三级数据库sql
  15. 【Android 安装包优化】WebP 图片格式 ( WebP 图片格式简介 | 使用 Android Studio 转换 WebP 图片格式 )
  16. 大牛书单 | C++ 好书推荐
  17. android nexus 10 刷机,谷歌Nexus 10 recovery卡刷rom 刷机教程
  18. python基础资料(Learn|Codecademy好用的工具)
  19. 华为智慧屏鸿蒙系统2.0,搭载鸿蒙2.0系统?华为即将推出入门级智慧屏
  20. 两种 Type-C 耳机:模拟耳机 数字耳机

热门文章

  1. “阳光天使”2007全国小姐大赛北京赛区决赛
  2. MATLAB数据分析
  3. mysql存储引擎innodb_MySQL常用存储引擎之Innodb
  4. vue 项目难点_vue项目中遇到的问题汇总
  5. android静默卸载,Android实践 -- Android静默安装和卸载
  6. android opencv 获取小图在大图的坐标_Android开发—基于OpenCV实现相机实时图像识别跟踪...
  7. python教学视频a_2019何老师一个月带你玩转Python分布式爬虫实战教程视频(视频+源码)...
  8. createprocess重启程序_C++_VC程序设计中CreateProcess用法注意事项,对于windows程序设计来说,启动 - phpStudy...
  9. uic计算机科学与技术,北京师范大学-香港浸会大学联合国际学院UIC理工科技学部高招网...
  10. 听技术播客:一边学Python编程一边学英语