关闭

STL in C++ 概述

326人阅读 评论(0) 收藏 举报
分类:

STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的Sort()函数是完全通用的,你可以用它来操作几乎所有的数据集合,包括数组。

要点:
STL算法作为模板函数提供。为了和其他组件相区别,在本文中STL算法后接一堆圆括号的形式表示,例如Sort()。

STL的另一个重要特性是,它不是面向对象的。为了具有足够的通用性,STL主要依赖于template模板而不是封装,继承和多态。你在STL中找不到任何明显的类继承关系。这好像是一种倒退,但这正好是使得STL的组件具有广泛通用性的底层特征。

STL提供了大量的模板类和函数,可以在ACM中使用。所有STL的大约50个算法都是完全通用的,而且不依赖于任何的数据类型。下面说明了三个基本的STL组件。

1、迭代器提供了访问容器中对象的方法。例如,可以使用一对迭代器指定list或者vector中的一定范围的对象。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。
2、容器是一种数据结构,如list、vector和deque,以模板类的方法提供。为了访问容器中的数据,可以使用由容器类输出的迭代器。
3、算法是用来操作容器中的数据的模板函数。例如,STL用Sort()来对一个vector钟的数据进行排序,用find()来搜索一个list中的对象。函数本身与它们操作的数据的结构和类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用。

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

C++ STL 一般总结

一、一般介绍       STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Stand...
  • u013174512
  • u013174512
  • 2016-05-10 21:57
  • 848

【C++ STL】三十分钟掌握STL

【C++ STL】三十分钟掌握STL 这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在...
  • fu_zk
  • fu_zk
  • 2013-10-24 17:05
  • 5661

深入解析C++ STL中的常用容器

这里我们不涉及容器的基本操作之类,只是要讨论一下各个容器其各自的特点。STL中的常用容器包括:顺序性容器(vector、deque、list)、关联容器(map、set)、容器适配器(queue、st...
  • u013443618
  • u013443618
  • 2015-11-21 14:32
  • 2276

C++读取STL模型文件

数据格式二进制的数据格式:二进制STL文件用固定的字节数来给出三角面片的几何信息。 【80】文件起始的80个字节是文件头,用于存贮文件名 【4】紧接着用 4 个字节的整数来描述模型的三角面片个数(小端...
  • just0kk
  • just0kk
  • 2017-01-01 20:02
  • 1388

C++STL常见面试题1

http://blog.csdn.NET/tianya_team/article/details/50753759 1.说说std::vector的底层(存储)机制。  vector就是一...
  • zuiyuezhou888
  • zuiyuezhou888
  • 2017-05-05 20:47
  • 889

C++中STL用法总结

1.1 什么是STL? STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Li...
  • piaoxuezhong
  • piaoxuezhong
  • 2017-01-11 22:40
  • 10316

.stl文件(CAD三维模型)格式 及 基于C/C++的数据读取

.stl类型三维CAD文件数据格式及读取代码
  • zhangSMILE123456
  • zhangSMILE123456
  • 2015-09-22 13:04
  • 3708

C++ STL简单介绍

STL(Standard Template Library,标准模板库)是C++对泛型编程思想的实现,最早是惠普实验室开发的。 在被引入C++之前该技术就已经存在了非常长的一段时间。后来STL成为A...
  • w_16822
  • w_16822
  • 2016-10-14 10:53
  • 226

C++标准库与STL的关系

STL即标准模板库(Standard Template Library),它包括五大类组件:算法、容器、迭代器、函数对象、适配器。 STL是C++标准库的一部分,但不是全部。C++标准库是std...
  • nodeathphoenix
  • nodeathphoenix
  • 2014-06-21 18:18
  • 2409

C++ STL之正则表达式

正则表达式是C++11标准库中新加入的强大工具。正则表达式是一种用于字符串处理的微型语言,适用于一些与字符串相关的操作。C++11包含了对以下几种语法的支持:ECMAScript、basic、exte...
  • u011475134
  • u011475134
  • 2017-07-27 00:33
  • 524

        如果觉得我的文章对您有帮助,请随意打赏3元请我买瓶可乐( •̀ ω •́ )。您的支持将鼓励我创作更好的文章。

    有问题欢迎加我微信:

    通讯录->新的朋友->顶部搜索微信号/手机号: tl545716730

    个人资料
    • 访问:194106次
    • 积分:4523
    • 等级:
    • 排名:第7595名
    • 原创:268篇
    • 转载:3篇
    • 译文:1篇
    • 评论:25条
    感谢各位的厚爱~

    今年我读完本科,目前美国大学研究院深造

    主修医学信息学

    今年会更新一些机器学习的实用知识

    2018年博客里争取不写废话

    统计了下今年的成果

    2017年一共收到342元大家的资助

    感感感谢观众老婆们的款待QwQ

    2018年一起进步,写更出色的代码!

    各位新年快乐!!!

    最新评论