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

STL:标准模板库

1.STL

STL:英文—standard template libaray-标准模板库:
STL是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且 是一个包罗数据结构与算法的软件框架。

2.引子

2.1 C语言中存在基础类型(int、float、char等)和自定义类型(struct)

2.2 C++中也是存在基础类型和自定义类型(类),但是C++在自定义类型中做了扩展,不仅存放了基础类型,也可以在类中使用函数——你们可以看一下我写的这篇文章《struct和C++的类》,虽然技术含量不高,但是可以推演祖师爷创建C++的一些思想;

2.3 1979年,贝尔实验室的本贾尼等人试图分析unix内核的时候,试图将内核模块化,于是在C语言的基础上进行扩展,增加了类的机制,完成了一个可以运行的预处理程序,称之为                    C with classes。

2.4 1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。因此:C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计

2.5 1980年初,惠普实验室的大佬,提出了标准模板库的概念——也就是泛型编程;

2.6 直到1998年,STL才被纳入C++标准;(C++标准第一个版本,绝大多数编译器都支持,得到了国际标准化组织(ISO)和美国标准化协会认可,以模板方式重写C++标准库,引入了STL(标准模板库))

2.7 类的出现标志了程序员可以使用相同的代码来完成相似的工作;                                                      于是,引出了标准模板库的概念;                                                                                                      程序员可以使用标准模版,并通过一定的改造;来实现程序员想实现的功能;

3.STL的六大组件

仿函数、算法、迭代器、空间配置器、容器、容器适配器;

此六者相辅相成,只能通过实例来相互验证;以我的能力无法说明;抱歉;


http://www.kler.cn/a/379542.html

相关文章:

  • 火山引擎VeDI数据服务平台:在电商场景中,如何解决API编排问题?
  • CentOS 7 安装 ntp,自动校准系统时间
  • 2024年9月电子学会青少年软件编程Python等级考试(四级)真题试卷
  • Python字典和集合在“用户信息管理”项目中的应用
  • 流畅!HTMLCSS打造网格方块加载动画
  • 网络编程入门
  • Ubuntu 22.4 LTS 源码编译Tigervnc
  • 【P2-9】ESP8266 WIFI模块在STA模式下作为TCP客户端上电自动进入透传数据模式
  • javaNIO核心知识.中
  • 苍穹外卖Day3test报错javax.websocket.server.ServerContainer not available
  • Qt 实战(10)模型视图 | 10.7、自定义 QTableWidget
  • 关于最新create-react-app使用react-app-rewired2.x添加webpack配置
  • [CISCN 2021初赛]robot
  • 传统的自然语言处理评估指标
  • GPU 服务器:高性能计算的核心驱动力
  • Web Broker(Web服务应用程序)入门教程(2)
  • LeetCode 3259.超级饮料的最大化能力(动态规划状态机模型入门)
  • 探索数据管理新境界:PyTables库的奥秘
  • 低代码信息中心:赋能创新的未来
  • 密码学是如何保护数据传输的安全性?
  • 计算机网络 -- HTTP 协议详解
  • PyTorch实战-手写数字识别-MLP模型
  • Redis高级篇之缓存一致性详细教程
  • OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放
  • 深入理解 Spring AOP:面向切面编程的原理与应用
  • LeetCode 0633.平方数之和:模拟