C++ SLT标准模板简介

STL全称是standard template libaray 标准模板库,这个库是C++库中十分重要的一部分,里面涵盖可复用的组件库,而且是一个包罗了数据结构与算法的软件框架。

STL各主要版本

stl库最初是由Alexander Stepanov、Meng Lee在惠普工作室中完成的原始版本,本着开源精神,他们声明允许任何人任意运用,拷贝,修改,传播甚至商业使用这些代码无需付费,唯一条件就是像原始版本一样也需要开源使用。HP版本是STL库的实现版本的始祖。

windows visual c++:PJ版本由P.J.Plauger开发,继承自HP版本,不能公开或修改,可读性较低,符号命名比较怪异。

c++ Builder:RW版本由rouge wage公司开发继承自HP版本,不能公开或修改可读性一般。

GCC:SGI版本由Silicon Graphics Computer Systems,Inc公司开发,继承自HP版本,可移植性好,可公开,修改甚至贩卖,从命名风格和编程风格上看阅读性很高。

SLT六大组件

仿函数:类中定义的一个operator()括号运算符的重载,使用上类型函数一样

空间适配器:相当于一个内存池,当需要申请空间时可以直接从内存池中获取空间。

算法:一些比较常用的算法都会包含在SLT里面需要时直接调用即可,如sort是快排,在重复度不高的数组中非常好用。

容器:存储数据的方式如string就是模拟C语言中的字符串实现的,其本质是一个类,里面使用一个字符数组存储一个字符串。功能实用性会比单纯的字符串好用。

迭代器:参考C语言中指针使用方法,底层实现大部分也都是指针,但是对指针进行封装,提高指针的安全性。

配接器:也叫容器适配器,是一种数据结构,从上图中可以看到stack,queue分别是栈和队列。

STL就是以上述的组件为原型制作的一系列模板(大部分,还有其他如输入输出库),里面有一些是类模板,结构体模板,函数模板等都是为了在C的基础上更好的使用不用每个功能组件都自己手动写出来能有一个通用的模板大大的提升了编程的效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1544588.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Multisim简体中文版百度云下载(含安装步骤)

如大家所熟悉的,Multisim是一款基于电路仿真的软件,可用于电子工程师、电子爱好者和学生进行电路设计、分析和调试。Multisim具有完整的电路设计和仿真功能,可支持模拟电路、数字电路,以及混合电路。 Multisim可以模拟不同电路的…

基于vue框架的大参林药品信息管理系统的设计与实现8b4gt(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,药品分类,药品信息,医生 开题报告内容 基于Vue框架的大参林药品信息管理系统的设计与实现开题报告 一、引言 随着医疗健康行业的快速发展和信息化浪潮的推进,药品信息管理已成为提升医疗服务效率、保障患者用药安全、…

怎样摆脱繁重的“物理集中”,轻松连接与交付全域数据,真正实现“敏捷用数”?

Data Fabric(数据编织),作为新一代的数据管理策略,其核心在于通过逻辑层面的数据整合与加工,打破物理集中的局限,实现数据的无缝共享与高效利用。以往,我们更多地从理论层面探讨数据编织的技术与…

RK3229 MS8416 MS8406调试

1、I2S做从机模式&#xff0c;音频芯片做主模式 由于音频芯片做从模式声音可能会失真&#xff0c;所以必须使得I2S1做从模式&#xff0c;音频芯片做主模式 ms84x6 {compatible "rockchip,ms84x6";pinctrl-0 <&lk_ms84x6_io>;//ms84x6_sda <&gpi…

目标检测系列(三)yolov2的全面讲解

YOLOv2&#xff08;论文原名《YOLO9000: Better, Faster, Stronger》&#xff09;作为该系列的第二个版本&#xff0c;对原始YOLO进行了显著的改进&#xff0c;进一步提高了检测速度和准确度。在精度上利用一些列训练技巧&#xff0c;在速度上应用了新的网络模型DarkNet19&…

小阿轩yx-Ansible部署与应用基础

小阿轩yx-Ansible部署与应用基础 前言 由于互联网的快速发展导致产品更新换代速度逐步增长&#xff0c;运维人员每天都要进行大量的维护操作&#xff0c;按照传统方式进行维护使得工作效率低下。这时部署自动化运维就可以尽可能安全、高效的完成这些工作。 Ansible 概述 什…

自闭症寄宿学校陕西:提供综合发展的教育环境

星贝育园&#xff1a;自闭症儿童的综合发展摇篮 在自闭症儿童教育的广阔领域里&#xff0c;寄宿制学校以其独特的康复环境和全方位的支持体系&#xff0c;为这些特殊的孩子点亮了希望之灯。广州的星贝育园自闭症儿童寄宿制学校&#xff0c;正是这样一所充满爱心与专业的机构&a…

探索自闭症寄宿学校:为孩子的未来铺设坚实基石

探索自闭症寄宿学校&#xff1a;星贝育园——为孩子的未来铺设坚实基石 在自闭症儿童成长的道路上&#xff0c;选择一所合适的学校&#xff0c;无疑是为他们铺设坚实基石的关键一步。广州的星贝育园自闭症儿童寄宿制学校&#xff0c;以其专业的教育理念、全面的支持体系和温馨…

使用PLSQL Developer快速连接数据库

文章目录 前言一、定义设置方式二、固定用户设置方式三、连接设置方式总结前言 PLSQL Developer是一个集成开发环境,由Allround Automations公司开发,专门面向Oracle数据库存储的程序单元的开发。该工具提供了多种设置方式,便于使用者在不需要输入用户名称、密码的情况下,…

鸿蒙 如何退出 APP

terminateSelf() 停止Ability自身 在EntryAbility中这么使用 this.context.terminateSelf()在Pages页面中这么使用 import { common } from kit.AbilityKit (getContext(this) as common.UIAbilityContext)?.terminateSelf() 也可以直接封装&#xff1a; import common f…

查了好几天的问题终于画上了句号

问题背景&#xff1a; 产品接到前方实施反馈9月02日有些订单查不到签名值&#xff0c;对于医院验签查不到签名值&#xff0c;就无法完成验签数据归档。 问题追踪过程&#xff1a; 1 首先查数据库&#xff0c;发现订单id确实查不到对应的detail数据&#xff1b; 第一直觉是否是…

如何使用ssm实现基于Java web的高校学生课堂考勤系统的设计与实现+vue

TOC ssm686基于Java web的高校学生课堂考勤系统的设计与实现vue 第一章 课题背景及研究内容 1.1 课题背景 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#x…

SpringBoot集成微信小程序Demo

一、前言 小程序是一种全新的连接用户与服务的方式&#xff0c;它可以在微信内被便捷地获取和传播&#xff0c;同时具有出色的使用体验。 微信小程序官方文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/ 二、技术栈 SpringBoot 2.0MyBatis-P…

不同类型的企业该如何挑选适合的供应商管理系统?

供应商管理对企业降低成本、维持稳定的货品来源起着重要的作用&#xff0c;在选择供应商管理系统时&#xff0c;需要考虑多重因素&#xff0c;正所谓没有最好只有最合适&#xff0c;需要结合企业自身需求进行多方面考量才能做出明智的决策。 本文将对国内外制造业都在使用的供…

找最小数 - 华为OD统一考试(E卷)

2024华为OD机试&#xff08;E卷D卷C卷&#xff09;最新题库【超值优惠】Java/Python/C合集 题目描述 给一个正整数NUM1&#xff0c;计算出新正整数NUM2&#xff0c;NUM2为NUM1中移除N位数字后的结果需要使得NUM2的值最小。 输入描述 输入的第一行为一个字符串&#xff0c;字…

一款前后端分离设计的企业级快速开发平台,支持单体服务与微服务之间灵活切换(附源码)

前言 当前软件开发面临诸多挑战&#xff0c;诸如开发效率低下、重复工作多、维护成-本高等问题&#xff0c;这些问题在一定程度上阻碍了项目的进展。针对这些痛点&#xff0c;我们迫切需要一款既能提升开发效率又能降低维护成-本的处理方案。由此&#xff0c;一款基于前后端分…

【Day20240924】联邦学习中的方法 改进

文章目录 前言一、FedAvg二、FedProx三、MOON四、FedDyn五、FedAsync六、PORT七、ASO-Fed八、FedBuff九、FedSA 前言 几种异步的方法&#xff1a; FedAsync PORT ASO-Fed FedBuff FedSA 几种同步的方法&#xff1a; FedAvg FedProx MOON FedDyn 一、FedAvg FedAvg基本步骤&a…

大模型开发应用实战:真实项目实战对标各类大厂大模型算法岗技术

一、引言 在人工智能领域&#xff0c;大模型已经成为推动技术进步和应用创新的重要力量。随着技术的不断发展&#xff0c;各大厂商纷纷投入大量资源研发大模型&#xff0c;并尝试将其应用于各种实际场景中。为了培养具备大模型开发与应用能力的高级技术人才&#xff0c;我们组织…

cuda算子优化-transpose

transpose 参考链接 方法一&#xff1a;每个线程负责一个元素的转置 cuda代码实现 ncu分析&#xff08;矩阵维度采用m1024&#xff0c;n512&#xff1b;grid和block维度见下图最上方&#xff09; 这种方法对读global mem比较友好&#xff0c;可以做到合并访存&#xff0c;但…

知识产权 ABS 企业融资新渠道

在当今知识经济时代&#xff0c;知识产权作为企业的核心资产&#xff0c;其价值日益凸显。知识产权资产证券化&#xff08;Intellectual Property Asset-Backed Securitization&#xff0c;简称知识产权ABS&#xff09;作为一种创新的金融工具&#xff0c;为企业盘活知识产权资…