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

C++ STL学习

诞生:STL(standard template library)

目的是为了提高代码复用性

一、STL六大组件

容器,算法,迭代器,仿函数,适配器(配接器),空间配置器

  1. 容器:各种数据结构,如vector、list、deque、set、map等,用来存放数据结构。
  2. 算法:各种常用的算法,如sort、find、copy、for_each等
  3. 迭代器:扮演了容器与算法之间的胶合剂
  4. 仿函数:行为类似函数,可作为算法的某种策略
  5. 适配器:一种用来修饰容器或者仿函数或迭代器接口的东西
  6. 空间适配器:负责空间的配置与管理

二、迭代器

每个容器都有自己专属的迭代器
迭代器使用非常类似指针,初学阶段我们可以先理解迭代器为指针

迭代器种类:

种类功能支持运算
输入迭代器对数据的只读访问只读,支持++、==、!=
输出迭代器对数据的只写访问只写,支持++
前向迭代器读写操作,并能向前推进迭代器读写,支持++、==、!=
双向迭代器读写操作,并能向前和向后操作读写,支持++、–
随机访问迭代器读写操作,可以以跳跃的方式访问任意数据,功能最强的迭代器读写,支持++、–、[n]、-n、<、<=、>、>=

常用的容器中迭代器种类为双向迭代器,和随机访问迭代器

相关文章:

  • 【365天深度学习训练营】第四周 猴痘病识别
  • MySQL(四)基于日志的备份与恢复
  • 【Vue五分钟】 vue练习题、面试题解答
  • APS智能排产在电子行业的应用
  • 使用 Umi 的微生成器快速助力业务交付
  • flink窗口聚合函数之aggregateFuction学习
  • DNS域名解析系统-BIND服务
  • 【rainbowzhou 面试21/101】综合提问--为什么选择做测试/大数据测试?
  • 【日拱一卒行而不辍20220923】自制操作系统
  • 【高质量C/C++】3.命名规则
  • 湖仓一体电商项目(二十):业务实现之编写写入DM层业务代码
  • Msquic客户端详解
  • Eclipse Theia技术揭秘——构建桌面IDE
  • 交换机的构成以及其工作原理
  • 想换壁纸找不到高质量的?来这里用python采集上万张壁纸
  • 【mysql】环境安装、服务启动、密码设置
  • happypack两次报错的问题
  • HashMap剖析之内部结构
  • Idea+maven+scala构建包并在spark on yarn 运行
  • ViewService——一种保证客户端与服务端同步的方法
  • 第2章 网络文档
  • 工作手记之html2canvas使用概述
  • 关于 Cirru Editor 存储格式
  • 解析 Webpack中import、require、按需加载的执行过程
  • 免费小说阅读小程序
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 主流的CSS水平和垂直居中技术大全
  • ​Spring Boot 分片上传文件
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (4) PIVOT 和 UPIVOT 的使用
  • (bean配置类的注解开发)学习Spring的第十三天
  • (LeetCode) T14. Longest Common Prefix
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • :O)修改linux硬件时间
  • [C puzzle book] types
  • [Docker]三.Docker 部署nginx,以及映射端口,挂载数据卷
  • [Head First设计模式]策略模式
  • [HNOI2006]鬼谷子的钱袋
  • [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】
  • [Java算法分析与设计]--线性结构与顺序表(List)的实现应用
  • [LeetCode]Reverse Linked List II
  • [linux] git lfs install 安装lfs
  • [Linux]创建新用户并授予root权限
  • [MongoDB]------windos下的安装部署与基础使用