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

STL基础知识

1、STL简介

C++提供的一套标准模板库,所谓模板库是可以存放任意的数据类型可以重复使用的模板库

2、STL的六大组件

容器:存放数据
算法:操作数据
迭代器:算法通过迭代器操作容器,迭代器是容器和算法之间的桥梁。也即算法借助迭代器操作容器
适配器:为算法提供更多的接口,比如说某一函数只需要两个参数,但是现在必须我要现在传递三个函数参数,这个时候就会使用到适配器就能为函数传递三个参数
仿函数:为算法提供策略,对于结构体、类和对象这些自定义类型,如果要进行排序,只要告诉两者如何比较就可以
空间配置:为算法和容器提供动态空间

3、STL的优点

(1)、是c++的一部分,因此不需要额外安装什么,只要c++的环境配置好就可以使用,被内建在c++的编译器之中
(2)、将数据和操作分离
(3)、根据数据复杂度自动选择排序方法,使用者只管使用
(4)、高重用性、高移植性、高性能、跨平台等优点

4、STL的三大组件

容器
算法分类:质变算法和非质变算法

质变算法:会改变容器的值(增、删、改)
非质变算法:不会改变容器的值(查找值、遍历、寻找最大最小值等)

迭代器:算法借助迭代器操作容器


http://www.kler.cn/news/10161.html

相关文章:

  • 推荐几款程序员提升工作效率的必备工具
  • 【ChatGPT】预训练模型微调及其应用(ChatGLM-6B、duckduckgo_search、GPT在科研的应用等)
  • 23年5月高项学习笔记10 —— 采购管理
  • 双交叉注意学习用于细粒度视觉分类和目标重新识别
  • 重磅!阿里版本【ChatGPT】开放测评!
  • Thinkphp6.0服务系统
  • argparse参数总结(方便之后自己看)
  • 模板学堂|DataEase图表样式解析
  • 科技成果评价最新攻略,你确定不来看看?
  • Python实现Imagenet数据集的合并和拆分
  • 一篇文章让你搞懂TypeScript中的??和?:和?.和!.是什么意思
  • 风电的Weibull分布及光电的Beta分布组合研究(Matlab代码实现)
  • 开源后台管理系统解决方案 boot-admin 简介
  • 关于ChatGPT人工智能浅谈
  • Oracle之PL/SQL游标练习题(三)
  • 服务器部署需要注意的事项
  • 多个渠道成功销售的秘诀速递
  • 深度学习数据集—水果数据集大合集
  • C++模板初阶
  • 系统集成项目管理工程师软考第三章习题(每天更新)
  • 如何找回u盘被删除的文件
  • 00后卷王的自述,我难道真的很卷?
  • 模拟点击是啥?如何实现的呢?
  • 分享4个不可或缺的 VSCode 插件,让 Tailwind CSS开发更简单
  • Spring核心与设计思想
  • 如何使用golang库gqlgen?如何在golang中实现graphql请求?
  • 环形缓冲区
  • 14 个快速简洁的单行 JavaScript 代码解决方案
  • 报名截至在即 | “泰迪杯”挑战赛最后一场赛前指导直播!
  • java 泛型 万字详解(通俗易懂)