C++之STL概述

操作方法

  • 01

    一,什么是STL STL就是C++ Standard Template Library,也就是标准模版库,是一个高效的C++程序库。STL包含六大组件:容器(container)、算法(algorithm)、迭代器(iterator)、配置器(allocator)、适配器(adapter)和函数对象(function object)。我们在学习这些组件时,应该按其重要程度来区别学习。重要成都由大到小是:泛型容器和泛型算法(表示任何类型和对象都可以使用这些容器和算法)>>迭代器>>配置器、适配器、函数对象。 STL的主要头文件包括13个,分别是<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<numeric>、<memory>、<queue>、<set>、<stack>、<utility>,具体内容如表1所示。用概括性的语言来说,STL的各部分作用是: 1)为了方便地存储数据,设计了容器; 2)为了方便地遍历、查找、替换容器中的元素,设计了算法; 3)为了方便地让容器、算法独立工作,设计了在二者之间起桥梁作用的迭代器; 4)为了统一分配和控制容器中的内存,设计了配置器; 5)为了更好地给算法传入参数,设计了函数对象; 6)为了更好地扩展STL现有的接口,设计了适配器。 STL的历史 在STL的发展史中,总共产生了5个版本。 2.1 HP STL——第一个STL版本 HP STL版本,就是惠普版本的STL库,是所有其他STL版本的鼻祖。其他版本的STL都是在此版本的基础上加以改进和实现的。 2.2 P.J. Plauger STL——Microsoft Visual C++的STL版本 P.J. Plauger STL版本是由P.J. Plauger个人实现的,是HP STL版本的继承版本。Microsoft Visual C++中的STL库用的就是P.J. Plauger STL版本。P.J. Plauger STL版本不是开放源代码的,它的元代那是不能修改或销售的。 2.3 Rouge Wave STL——Borland C++ Builder5.0的STL版本 Rouge Wave STL版本是由Rouge Wave公司开发的,也是HP STL版本的继承版本。该版本被Borland C++ Builder5.0所采用,可惜的是由于该版本长时间没有被更新过且它不完全符合STL标准,最后被弃用。 2.4 STLport——Borland C++ Builder6.0的STL版本 STLport版本的STL最开始是俄罗斯人的一个开发项目,主要用途是把UNIX下的SGI STL代码一直到其他平台的主流编译器上,例如C++ Borland或Visual C++等。STLport版本的STL符合ANSI/C++的STL标准,因此也更容易移植。Borland C++ Builder6.0中的STL用的就是STLport版本。 2.5 SGI STL——GCC的STL版本 SGI STL室友Silicon Graphics Computer System,Inc公司开发的,SGI STL同样也是HP STL版本的继承版本。Linux下的GCC编译器采用的正式SGI STL版本。GCC对C++语言标准的支持非常好,SGI STL在Linux平台上的性能非常出色。SGI STL是属于开发源代码的,因此读者可以修改和销售SGISTL版本。

(0)

相关推荐

  • C++中STL用法超详细总结

    C++中STL用法超详细总结

  • LTE物理层基础概述

    什么是LTE? LTE是准4G,并不是真正意义上的4G,LTE(Long Term Evolution,长期演进)项目是3G的演进,LTE并非人们普遍误解的4G技术,而是3G与4G技术之间的一个过渡, ...

  • ProModel导入.STL文件方法介绍

    STL 文件以用于 stereolithography 的格式保存对象数据。STL 文件的文件名扩展名为 .stl。这既可以是 ASCII STL 格式,也可以是一种二进制 STL 格式。 1.要加载 ...

  • 新版云服务器管理控制台概述

    一、概述 云服务器管理控制台管理云服务器的主要功能有: 1. 支持云服务器的基本操作:启动、停止、重启、重置、修改密码及更换操作系统。 2. 用户可以随意定义云服务器的配置:CPU、内存、磁盘、网络带 ...

  • ProModel怎么导入.STL文件

    STL 文件以用于 stereolithography 的格式保存对象数据。STL 文件的文件名扩展名为 .stl。这既可以是 ASCII STL 格式,也可以是一种二进制 STL 格式。 1.要加载 ...

  • 局域网内无线DDoS攻击策略及概述

    随着计算机网络技术的发展,无线局域网成为高速发展的无线通信技术在计算机网络中实现通信移动性.个性化和多媒体应用等.但是,由于无线通信的传播介质是毫无实体保护的空气,无线 发送的数据就有可能到达覆盖范围 ...

  • Solidworks零件图怎么另存为STL格式?

    Solidworks中中绘制零件图很简单,想要保存为STL格式,该怎么保存呢?下面我们就来看看详细的教程. 1.以我桌面上使用Solidworks绘制的轴套零件为例. 2.打开轴套零件,是不是很熟悉这 ...

  • 3D打印如何输出STL文件?

    3D打印中CAD造型软件输出STL文件方法 操作方法 01 Alibre File(文件) -> Export(输出)-> Save As(另存为,选择.STL)-> 输入文件名-& ...

  • 如何将stl文件导入CATIA

    stl文件为点云文件,我们在用CATIA进行逆向工程时经常需要将stl点云文件导入到CATIA中进行逆向,下面就教大家如何将stl文件导入到CATIA中. 操作方法 01 首先我们打开CATIA,并在 ...