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

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.mrgr.cn/news/35212.html

相关文章:

  • Python学习26天
  • JMeter中添加请求头
  • 了解 Solon MVC 的参数注入规则
  • 23.网工入门篇--------介绍一下园区网典型组网架构及案例实践
  • 卫导调零天线功率倒置算法原理及MATLAB仿真
  • 初次体验Tauri和Sycamore(1)
  • iframe和父页面使用message通信,支持跨域
  • 负载均衡--TLS安全策略(四)
  • Java反射机制入门:解锁运行时类信息的秘密
  • 【解决虚拟机NAT联网】收藏这份教程就不用再辛苦找了
  • Avalonia的第三方UI库Material.Avalonia详细教程
  • Dify部署及初步测试
  • CSS 的元素显示模式简单学习
  • linux命令行快捷键
  • 【Linux】nginx连接前端项目
  • 排序----归并排序(非递归版)
  • 美团外卖霸王餐系统有哪些优势?如何选择?
  • 浙大数据结构:05-树9 Huffman Codes
  • 4款思维导图在线工具,新手速来!
  • chatGPT问答知识合集【五】
  • 【CPP11?】结合CPP发展历史来理解CPP11
  • 掌握Python办公自动化,轻松成为职场高效达人
  • 特殊类设计
  • 一步一步优化一套生成式语言模型系统
  • 二分查找算法(8) _点名
  • Solidity——抽象合约和接口详解