文章目录

  • STL是什么
  • 使用STL的好处

STL是什么

STL(Standard Template Library,标准模板库),它是由惠普实验室开发的一系列标准化的组件,目前是C++的一部分。

STL的代码从广义上讲分为三类:container(容器)、iterator(迭代器)和algorithm(算法),容器和算法通过迭代器可以进行无缝地连接。

ƒstring,wstring也是STL的一部分

使用STL的好处

STL是C++的一部分,因此不用额外安装什么,它被内建在你的编译器之内。

STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但是这种分离确实使得STL变得非常通用。例如,STL的sort()函数可以用来操作vector,list等容器。

STL具有高可重用性,高性能,高移植性,跨平台的优点:

高可重用性:STL中几乎所有的代码都采用了模板类和模版函数的方式实现,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。关于模板的介绍,在第二讲会讲解。

高性能:如map可以高效地从十万条记录里面查找出指定的记录,因为map是采用红黑树的变体实现的。(红黑树是平横二叉树的一种)

高移植性:如在项目A上用STL编写的模块,可以直接移植到项目B上。

跨平台:如用windows的Visual Studio编写的代码可以在Mac OS的XCode上直接编译。

程序员可以不用思考STL具体的实现过程,只要能够熟练使用STL就OK了。这样他们就可以把精力放在程序开发的别的方面。

C++SLT入门简介相关推荐

  1. Markdown入门简介

    参考 http://sspai.com/25137 作者: Te_Lee 文章来源: 少数派 Markdown入门简介(使用工具Haroopad) 一.使用的工具----haroopad(http:/ ...

  2. 分布式文件系统—HDFS—入门简介

    原文作者:Zh_Y_G 原文地址:HDFS入门简介 目录 HDFS是什么? 设计目标: 安装配置 HDFS读写流程图解 CheckPoint HDFS是什么? 易于扩展的分布式文件系统 运行在大量普通 ...

  3. Logstash入门简介

    Logstash入门简介 介绍 Logstash是一个开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到最喜欢的存储库中(我们的存储库当然是ElasticSearch) ...

  4. android 教程概要,Android精通教程-第一节Android入门简介

    前言 大家好,我是 Vic,今天给大家带来Android精通教程-第一节Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cea ...

  5. 车联网大数据框架_大数据基础:ORM框架入门简介

    作为大数据开发技术者,需要掌握扎实的Java基础,这是不争的事实,所以对于Java开发当中需要掌握的重要框架技术,也需要有相应程度的掌握,比如说ORM框架.今天的大数据基础分享,我们就来具体讲一讲OR ...

  6. 掌握 Ajax,第 1 部分: Ajax 入门简介

    2019独角兽企业重金招聘Python工程师标准>>> 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作原理,构建网站的一种有效方法 Ajax 由 HTM ...

  7. 大数据与Hadoop有什么关系?大数据Hadoop入门简介

    学习着数据科学与大数据技术专业(简称大数据)的我们,对于"大数据"这个词是再熟悉不过了,而每当我们越去了解大数据就越发现有个词也会一直被提及那就是--Hadoop 那Hadoop与 ...

  8. Linux防火墙入门:简介(转)

    Linux防火墙入门:简介(转) 前言 一旦连上网络,就充满各种危机. 许多人基于各式各样的理由,想侵入你的系统,这种人俗称为 cracker.尤有甚者,近年来,cracker 圈里流行一种结合病毒行 ...

  9. QT——开发入门简介

    [系列专栏]:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! <QT开发实战> <嵌入式通用开发实战> <嵌入式Linux开发实战> 1.你了解Qt吗? ...

  10. 橙子01-大数据基础入门简介

    橙子01-大数据基础入门简介 大数据的概念 volume variety velocity value 大数据技术 大数据处理的基本流程 云计算的三个关键技术 大数据的应用 相关视频内容可在b站观看大 ...

最新文章

  1. 推荐7款冷门但是非常值得推荐的windows软件
  2. Flutter学习之Dart语法特性
  3. python中time模块中的倒计时_Python中time模块与datetime模块在使用中的不同之处 python 的time模块获取的是什么时间...
  4. 【GDKOI2003】分球
  5. 提权学习之旅——Linux操作系统提权
  6. Linux进程全解3——进程概念、进程ID、多进程调度原理
  7. 移动端媒体尺寸_网络推广外包浅析提升移动端网站建设效率有哪些网络推广外包技巧-企服...
  8. 为什么java我点击运行却没有_java – 为什么我的jar文件没有双击启动?
  9. PHP用socket连接SMTP服务器发送邮件
  10. [图灵程序设计丛书].流畅的Python.revise11.pdf
  11. 开始研究3D并用硬件加速器实现
  12. postman接口测试七
  13. 使用代理服务器是否安全?
  14. Vue中使用echarts,echarts 封装以及使用的事项
  15. [数据结构 算法] A*算法--罗马尼亚度假问题(实验课作业)
  16. Link第一次打包与部署笔记
  17. 【计算机组成原理】| 第九章 控制单元的功能 | 程序,指令,机器指令,微程序,微指令,微命令,微操作的关系
  18. 北京师范大学新闻与传播专硕考研一战上岸经验分享
  19. vue 实现出生日期计算年龄
  20. 要如何图片文字识别翻译?这些软件能帮你

热门文章

  1. 计算机解决问题的几个必要,1–1计算机解决问题的过程.ppt
  2. Android FrameLayout的:layout_marginTop属性失效的问题
  3. element中form表单输入非负数验证
  4. 个人知识管理(PKM)实施
  5. css最后一行省略号,CSS怎么实现单行、多行文本溢出显示省略号
  6. 还不快点刷面试题,史上最全Java工程师面试题汇总,全会月薪至少3W
  7. Phython学习—— 基础语法
  8. Python 贪心法:真分数表示为埃及分数之和
  9. spring学期总结
  10. python抢红包 无需电脑_Python助你秒抢红包,拼手速?不存在!