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

椋鸟C++笔记#7:标准模板库STL初识

文章目录

      • 标准模板库(Standard Template Library)
      • STL的版本
        • P.J.版
        • RW版
        • SGI版
      • STL的组成部分

萌新的学习笔记,写错了恳请斧正。

标准模板库(Standard Template Library)

标准模板库STL,是C++标准库的一个非常重要的组成成分。它的作用就类似于一个工具箱,里面有很多现成的模板“工具”,帮助我们更方便的处理数据。

STL的版本

STL最早是由Alexander Stepanov和Meng Lee在惠普实验室开发出来的,是完全开源的,这个原始版本也是现在所有STL的始祖。

P.J.版

这个版本是P.J. Plauger开发的,不允许公开及修改。这个版本是STL最早期的版本之一,代码可读性差而且符号命名比较奇怪。但是Windows Visual C++采用的是这个版本。

RW版

这个由Rogue Wave公司开发的版本,不允许公开及修改。这个版本着重于与商业环境的集成,通常用于大型企业级项目中。功能非常丰富且跨平台支持性极好。

SGI版

SGI版本由Silicon Graphics公司开发,这个版本是标准C++STL的基础,也是使用最多的STL版本。这个版本是开源的,其设计高效而且稳定,代码风格优秀命名合理。是适合初学者的版本。

STL的组成部分

  1. 容器:就像不同类型的“数据盒子”,用来存放各种数据,比如动态数组、链表、集合等。
  2. 迭代器:是用来从这些“数据盒子”里拿数据的“工具”,就像指针,能帮助我们遍历和操作里面的内容。
  3. 算法:是一组现成的“操作指令”,用来对数据进行排序、查找、复制等处理。
  4. 仿函数:仿函数就是一个带有“函数功能”的对象,能像函数一样被调用。
  5. 配接器:用来改变容器、迭代器或仿函数行为的工具。
  6. 空间配置器:类似于内存池,负责为容器开辟和释放内存。

相关文章:

椋鸟C++笔记#7:标准模板库STL初识

文章目录 标准模板库(Standard Template Library)STL的版本P.J.版RW版SGI版 STL的组成部分 萌新的学习笔记,写错了恳请斧正。 标准模板库(Standard Template Library) 标准模板库STL,是C标准库的一个非常重…...

滴滴嘀嗒,出行行业响起Robotaxi“倒计时”

文:互联网江湖 作者:刘致呈 前几天,各大出行平台的半年报陆续披露完毕,有的还在亏损,但也有人开始盈利。 如祺出行上市后的首份半年报营收10.37亿,同比增长13.6%。上半年运营亏损为2.56亿元,同…...

【MATLAB源码-第264期】基于matlab的跳频通信系统仿真,采用MSK调制方式,差分解调;输出误码率曲线和各节点波形图。

操作环境: MATLAB 2022a 1、算法描述 跳频通信系统是一种能够提高通信抗干扰能力的技术,它通过在传输过程中不断地改变载波频率来避开干扰或者窃听。在这套跳频通信系统中,我们采用了最小频移键控(MSK)作为调制方式…...

如何在多台电脑上同步 VSCode配置和插件

上一篇文章最新前端开发VSCode高效实用插件推荐清单总结了前端开发实用的插件,换电脑的时候怎么同步这些配置与插件呢,难道又要重新安装一遍吗😱 现在就来聊聊要在多台电脑上同步 VSCode配置和插件的几种方法: 方法一&#xff1…...

深度优先算法,广度优先算法,hill climbing,贪心搜索,A*算法,启发式搜索算法是什么,比起一般搜索法算法有什么区别

深度优先算法(Depth-First Search, DFS) 深度优先搜索是一种用于遍历或搜索树或图的算法。它沿着树的深度遍历树的节点,尽可能深地搜索树的分支。当节点v的所在边都已被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程…...

《python语言程序设计》2018版第8章第14题金融:信用卡号合法性 利用6.29题

一、之前6.29题我做的代码 这是用数字来进行分辨的 is_txt 4383576018402626 #合法def split_the_data_even(vis_n):current_a1 vis_n // 10000a_t1 vis_n % 10000# print("1th", a_t1)a_t2 current_a1 % 10000# print("2th", a_t2)current_a3 curre…...

QT 基础学习

1> 使用绘制事件完成钟表的绘制 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPainter> #include <QDebug> #include <QTime> #include <QTimer> #include <QDateTime> //#include <string> #includ…...

【Gephi】可视化教程

此教程专供欣欣向荣及其舍友使用 文章目录 导入数据上色改变布局设置节点大小统计拓扑结构输出图形保存文件 导入数据 点击【文件】-【导入电子表格】 先选择csv格式的network 直接下一步 点击完成 【图的类型】改为“有向的” 点击确认 会弹出报错&#xff0c;直接clos…...

演化式原型开发-系统架构师(六十五)

1快速迭代式的原型开发能够有效控制成本&#xff0c;&#xff08;&#xff09;是指开发过程中逐步改进和细化原型直到产生目标系统。 A可视化原型开发 B抛弃式原型开发 C演化式原型开发 D增量式原型开发 解析&#xff1a; 原型开发分为两大类:快速原型开发&#xff08;抛弃…...

初识爬虫4

1.理解代理ip&#xff0c;正向代理和反向代理 2.代理ip分类&#xff0c;根据匿名度分类&#xff1a;透明&#xff0c;匿名&#xff0c;高匿 3.防止频繁向同一个域名发送请求被封ip,需使用代理ip # -*- coding: utf-8 -*- import requestsurl https://www.baidu.comproxies {…...

Golang | Leetcode Golang题解之第387题字符串中的第一个唯一字符

题目&#xff1a; 题解&#xff1a; type pair struct {ch bytepos int }func firstUniqChar(s string) int {n : len(s)pos : [26]int{}for i : range pos[:] {pos[i] n}q : []pair{}for i : range s {ch : s[i] - aif pos[ch] n {pos[ch] iq append(q, pair{ch, i})} e…...

【CanMV K230 AI视觉】 人体检测

【CanMV K230 AI视觉】 人体检测 人体检测 动态测试效果可以去下面网站自己看。 B站视频链接&#xff1a;已做成合集 抖音链接&#xff1a;已做成合集 人体检测 人体检测是判断摄像头画面中有无出现人体&#xff0c;常用于人体数量检测&#xff0c;人流量监控以及安防监控等。…...

解决浏览器自动将http网址转https

删除浏览器自动使用https的方式 在浏览器地址栏输入&#xff1a;chrome://net-internals/#hsts PS:如果是edge浏览器可输入&#xff1a;edge://net-internals/#hsts 在Delete domain security policies搜索框下&#xff0c;输入要删除的域名,然后点击delete 解决方法&#…...

linux邮件配置

1. 非加密邮件配置 cat <<EOF > smtp.sh #!/bin/bash providerqq account3282941991 passwordzqdtygmmndsgb22i3ee echo "Waiting For A Moment..." rpm -qa sendmail &> /dev/null|| yum install sendmail -y >/dev/null echo " set from$…...

基于springboot+vue乒乓球预约管理系统

基于springbootvuemysql实现的乒乓球预约管理系统&#xff08;源码数据库部署视频&#xff09; ### 主要技术 SpringBoot、LayUI、Vue、MySQL ### 系统角色 用户、管理员 ### 系统功能 前台&#xff1a; 首页、乒乓球场、公告信息、留言反馈、个人中心 后台&#xff1a; …...

Linux 基础命令-文件权限与所有权

1. 文件权限概述 在Linux中&#xff0c;每个文件和目录都有与之关联的权限和所有权&#xff0c;来控制谁可以访问、修改或执行文件。文件权限与所有权可以防止未经授权的用户对文件进行访问或修改。 1.1 文件权限的组成 每个文件在Linux系统中都有三种类型的权限&#xff1a…...

气压测试实验(用IIC)

I2C: 如果没有I2c这类总线&#xff0c;连接方法可能会如下图&#xff1a; 单片机所有的通讯协议&#xff0c;无非是建立在引脚&#xff08;高低电平的变换高低电平持续的时间&#xff09;这二者的组合上&#xff0c;i2c 多了一个clock线&#xff0c;负责为数据传输打节拍。 (i2…...

C++ lambda闭包消除类成员变量

原文链接&#xff1a;https://blog.csdn.net/qq_51470638/article/details/142151502 一、背景 在面向对象编程时&#xff0c;常常要添加类成员变量。 然而类成员一旦多了之后&#xff0c;也会带来干扰。 拿到一个类&#xff0c;一看成员变量好几十个&#xff0c;就问你怕不…...

等待唤醒机制和阻塞队列

1. 等待唤醒机制 由于线程的随机调度&#xff0c;可能会出现“线程饿死”的问题&#xff1a;也就是一个线程加锁执行&#xff0c;然后解锁&#xff0c;其他线程抢不到&#xff0c;一直是这个线程在重复操作 void wait() 当前线程等待&#xff0c;直到被其他线程唤醒 void no…...

IO多路复用是如何处理多个客户端同时访问一个数据的

1. 原理概述 IO多路复用通过单个线程或进程监听多个文件描述符的状态变化&#xff0c;当某个文件描述符就绪&#xff08;例如&#xff0c;有数据可读、可写或发生异常&#xff09;时&#xff0c;线程或进程会收到通知&#xff0c;并对该文件描述符执行相应的IO操作。这种方式显…...

Hitboxer:终极免费SOCD按键重映射工具,3分钟彻底解决游戏输入冲突

Hitboxer&#xff1a;终极免费SOCD按键重映射工具&#xff0c;3分钟彻底解决游戏输入冲突 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 还在为游戏中同时按下相反方向键导致角色卡顿而烦恼吗&#xff1f;Hitb…...

屹晶微优势代理 600V/0.3A/0.6A 半桥栅极驱动器 SOP8 技术解析

在吹风筒、无线充电、变频水泵、DC-DC电源及无刷电机驱动等应用中&#xff0c;需要一款高耐压、低成本的半桥栅极驱动芯片。EG2304L是一款高性价比的MOS管、IGBT管栅极驱动专用芯片&#xff0c;采用SOP8封装&#xff0c;内置高端悬浮自举电源设计&#xff0c;耐压高达600V&…...

阿里云Ubuntu22..04安装jdk21、MySQL8、nginx

推荐直接&#xff1a; Ubuntu 22.04下面全部基于&#xff1a; root 用户 Ubuntu 22.04展开。一、先更新系统 apt update && apt upgrade -y安装基础工具&#xff1a; apt install -y wget curl vim unzip net-tools二、安装 JDK21&#xff08;推荐 Temurin&#xff09;…...

【2026】记录在windows编译llama.cpp步骤,AMD CPU本地部署千问3.5本地大模型,内存占用低

前言 我的电脑是AMD的32G内存&#xff0c;没有GPU&#xff0c;偏要玩一玩千问3.5本地大语言模型&#xff0c;github上下载的llama安装包&#xff0c;无法使用&#xff0c;只有自己编译试试了。注意我是编译CPU版本的&#xff0c;你有GPU这篇别看了。 以下是我的CPU型号: 1.…...

别再死记硬背了!用Python/JavaScript/C++对比理解‘整型变布尔’的底层逻辑

别再死记硬背了&#xff01;用Python/JavaScript/C对比理解‘整型变布尔’的底层逻辑 在编程语言的学习过程中&#xff0c;类型系统是最基础也最容易被忽视的部分。特别是当开发者从一门动态类型语言转向静态类型语言时&#xff0c;经常会遇到一些"反直觉"的类型转换…...

力扣算法面试150题——个人笔记——复习用

双指针 第一题&#xff1a; 125. 验证回文串https://leetcode.cn/problems/valid-palindrome/ 题目内容 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母…...

避坑指南:在Simplicity Studio 5中为BLE工程添加串口控制与软定时器时,我踩过的那些雷

Simplicity Studio 5 BLE开发实战&#xff1a;串口控制与软定时器的七个关键陷阱与解决方案 当你在Simplicity Studio 5中完成基础BLE工程搭建后&#xff0c;真正挑战才刚刚开始。我曾在一个智能照明项目中&#xff0c;需要同时处理BLE连接、串口指令控制和LED定时闪烁功能&…...

如何让老旧游戏手柄重获新生:XOutput输入转换器完整指南

如何让老旧游戏手柄重获新生&#xff1a;XOutput输入转换器完整指南 【免费下载链接】XOutput DirectInput to XInput wrapper 项目地址: https://gitcode.com/gh_mirrors/xo/XOutput 你是否拥有一些老旧但质量优秀的游戏手柄、摇杆或方向盘&#xff0c;却发现在现代游戏…...

瑞萨RL78/F25电容触摸开发:从FSP配置到调试优化全解析

1. 项目概述与核心价值最近在做一个家电控制面板的项目&#xff0c;主控选型时看中了瑞萨的RL78/F25系列MCU。这个系列主打低功耗和高集成度&#xff0c;内置了电容式触摸感应单元&#xff08;CTSU&#xff09;&#xff0c;对于需要触摸按键、滑条的应用来说&#xff0c;简直是…...

麦当劳中国启动2026全国招聘周招募新生代人才

美通社消息&#xff1a;麦当劳中国正式启动2026年全国招聘周。今年&#xff0c;首批年满16周岁的10后将步入职场&#xff0c;与00后共同构成新生代主力军。在AI的变革时代&#xff0c;麦当劳以"有保障、有福利、有发展"的薪酬福利成长体系&#xff0c;以及长期、系统…...