c++领域展开第十二幕——类和对象(STL简介——简单了解STL)超详细!!!!

news/2025/1/16 6:34:46/

在这里插入图片描述

文章目录

  • 前言
  • STL简介
    • 什么是STL
    • STL的版本
    • STL的六大组件
    • STL的重要性
    • 如何学习STL
  • 总结

前言

上篇博客我们了解了初阶的模版函数,以及有关的一些使用方法。
今天我们来了解了解STL库的有关知识
跟我一起上车吧

STL简介

什么是STL

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

STL的版本

原始版本
Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是也需要向原始版本一样做开源使用。 HP 版本–所有STL实现版本的始祖。

P. J. 版本
由P. J. Plauger开发,继承自HP版本,被Windows Visual C++采用,不能公开或修改,缺陷:可读性比较低,符号命名比较怪异。

RW版本
由Rouge Wage公司开发,继承自HP版本,被C+ + Builder 采用,不能公开或修改,可读性一般。

SGI版本
由Silicon Graphics Computer Systems,Inc公司开发,继承自HP版 本。被GCC(Linux)采用,可移植性好,可公开、修改甚至贩卖,从命名风格和编程 风格上看,阅读性非常高。我们后面学习STL要阅读部分源代码,主要参考的就是这个版本。

STL的六大组件

在这里插入图片描述

STL的重要性

在笔试和面试中还有工作中,STL都是很重要的一个部分

在笔试中:会有算法题设计到STL库里面的相关容器
在面试中:面试官会问及与STL有关的知识
在工作中:网上有句话说:“不懂STL,不要说你会C++”。STL是C++中的优秀作品,有了它的陪伴,许多底层的数据结构以及算法都不需要自己重新造轮子,站在前人的肩膀上,健步如飞的快速开发。

一些有关STL的习题:
重建二叉树
二叉树层序打印
两个栈实现一个队列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如何学习STL

在这里插入图片描述

简单总结一下:学习STL的三个境界:能用,明理,能扩展

总结

今天就是简单的了解一下STL
下一篇博客,我会带着大家正式进入STL的学习当中
不要走开,小编持续更新中~~~~~~

在这里插入图片描述


http://www.ppmy.cn/news/1563534.html

相关文章

数仓建模(六)从ODS到DWD、DWS、ADS

在数据仓库建设中,ODS、DWD、DWS、ADS是大家经常接触的术语,它们代表了数据流转的不同阶段。这些术语虽然专业,但其背后的含义却相对直观。通过深入理解这些概念,大家可以更高效地设计和优化数据仓库架构。本文将以通俗语言解析这…

数据分析如何正确使用ChatGPT进行辅助?

目录 1.数据介绍 2.特征工程 3.EDA分析 4.数据相关性分析 5.分析总结 一篇优秀的学术论文,肯定有新颖、适当的论证视角,选择恰当的研究方法,搭建逻辑严密、平衡的论证框架,把有力的数据分析紧密结合起来,这样一篇…

【数据结构-堆】力扣1792. 最大平均通过率

一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] [passi, totali] ,表示你提前知道了第 i 个班级总共有 totali 个学生,其中只有 passi 个学…

hot100_240. 搜索二维矩阵 II

hot100_240. 搜索二维矩阵 II 直接遍历列减行增 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1: 输入:matrix [[1,4,7,1…

ip属地是根据手机号还是位置

在数字化时代,IP地址作为网络世界中的“门牌号”,其属地信息往往与用户的地理位置紧密相关。然而,关于IP属地是如何确定的,是否依赖于手机号还是实际位置,这一话题时常引发讨论。本文将深入探讨IP属地的确定方式&#…

国产编辑器EverEdit - 扩展脚本:新建同类型文件(避免编程学习者反复新建保存练习文件)

1 扩展脚本:在当前文件目录下新建同类型文件 1.1 应用场景 用户在进行编程语言学习时,比如:Python,经常做完一个小练习后,又需要新建一个文件,在新建文件的时候,不但要选择文件类型&#xff0c…

Spring官网构建Springboot工程

注意:基于Idea的 Spring Initializr 快速构建 SpringBoot 工程时需要联网。 1.进入SpringBoot官网 Spring | Home 点击QUICKSTART 点击start.spring.io进入spring initializr 2.选择依赖 3.生成工程 下载好后解压用IDEAD导入即可。

MyBatis-XML映射配置

引言 在 Mybatis 中,既可以通过注解配置 SQL 语句,也可以通过 XML 配置文件配置 SQL 语句。默认规则: 1. XML 映射文件的名称与 Mapper 接口名称一致,并且将 XML 映射文件和 Mapper 接口放置在相同包下 (同包同名&…