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

C++STL教程入门

        

目录

容器(Container)

迭代器(Iterator)

算法(Algorithm)

*仿函数(Function object)(又称为函数对象,function object)

*迭代适配器(Iterator Adaptor)

*空间配制器(allocator)


在上一篇文章我们已经基本的了解了什么是C++的STL(标准模板库),在本章中绝大多数内容都是在介绍常用的STL模板的使用以及其一些参数的介绍,但是请注意,STL由于其设计之初就容纳了大量的程序员思维结晶,经过了无数次的讨论才形成了一个统一的标准,他同时拥有大量的内容和知识点,如果完全讲解内容,展开完完全全可以写出一本500页的书,本篇还是以数据结构为主,因此,这里只是略讲,而且还主要是略讲与数据结构相关的容器,不是深入讲解。

在这里引用本人的一位老师说的话:不学STL的C++是不完整的C++。

以下是STL中包含的几大内容,在学习中重点要学习前三点。

容器(Container)

是一种数据结构,也是本章节提的重点,如list(链表),vector(向量数组),stack(栈),队列(queue) ,以模板类的方法提供,为了访问容器中的数据,可以使用由容器类输出的迭代器。

迭代器(Iterator)

是一种特殊的指针,它提供了访问容器中对象的方法,在程序设计中,它扮演了容器和算法之间的胶合剂,利用迭代器可以快速而安全的对容器内容进行操作,或是进行算法模板的使用。

算法(Algorithm)

(部分书籍称为泛型算法,generic algorithms),是一类常用的算法模板,既可以对容器进行操作,同时其开放性也让算法类本身可以针对数组或者是自定义结构体等结构进行直接的操作。

*仿函数(Function object)(又称为函数对象,function object)

是一种行为类似函数,这样讲可能有些抽象,我们可以理解为一种高级的,重载了()操作符的结构体与类。

*迭代适配器(Iterator Adaptor)

是一种用来修饰容器或者仿函数的接口,它使得得带适配器使算法能够以逆向模式,安插模式进行工作,甚至还可以与流配合,它对容器起到非常大的辅助作用,同时他还将迭代器进行了更高级别的抽象。

*空间配制器(allocator)

是负责空间的配置与管理,重点就是对容器的空间申请和空间释放进行管理,你可以理解为C的malloc和free函数,C++的new和delete关键字。

http://www.dtcms.com/a/145361.html

相关文章:

  • python生成项目依赖文件requirements.txt
  • Rocky Linux 9.1 修改网卡和DNS
  • 操作系统中的虚拟化技术深度对话
  • 认知升级:把握人工智能教育化转型的历史机遇
  • trae海外版无限流白嫖指南,解决有限流,总提示在排队难题
  • 主机运行状态的监控命令(top命令)
  • React基础知识(补充中)
  • 19. git reflog
  • GIS开发笔记(9)结合osg及osgEarth实现三维球经纬网格绘制及显隐
  • Nginx静态资源跳转添加权限验证
  • optool为macho文件增加动态库
  • 从零创建 Docker 镜像(基于 OCI 格式)
  • Datawhale 春训营 创新药赛道
  • Linux 进程概念补充 (自用)
  • 代理模式(Proxy Pattern)
  • vue3 excel文件导入
  • 贝叶斯分类器:原理、算法与应用详解
  • 位运算,状态压缩dp(算法竞赛进阶指南学习笔记)
  • 【Java】接口interface学习
  • 残烛与风儿的对话
  • OC底层原理【一】 alloc init new
  • java单元测试不能点击run运行测试方法
  • 【第二天】一月速通Python第二天,函数,数据容器,列表,元组,字典。
  • 论文阅读:2023 arxiv A Survey of Reinforcement Learning from Human Feedback
  • 集成运放的关键技术参数
  • 7.0/Q1,Charls最新文章解读
  • 【Oracle专栏】Oracle中的虚拟列
  • pnpm确认全局下载安装了还是显示cnpm不是内部或外部命令,也不是可运行的程序
  • 算法分析传输加密数据格式密文存储代码混淆逆向保护
  • Mac上Cursor无法安装插件解决方法