您好,欢迎来到尚佳旅游分享网。
搜索
您的当前位置:首页C++泛型编程与STL标准模板库

C++泛型编程与STL标准模板库

来源:尚佳旅游分享网
引言

  标准模板库(Standard Template Library,STL) 是一个高效,实用的C++程序库。它被容纳于C++标准库中,是ANSI/ISO C++标准中最新的,也是极具性的一部分。该库包含了诸多计算机科学领域里常用的基本数据结构和基本算法,也为C++程序员们提供了可扩展的应用框架,高度体现了软件的可复用性。

STL概述

  STL在C++程序设计中的作用是提供一个可供函数调用的组件和函数库,当需要时通过接口来调用,STL的目的是标准化组件,用户不用重新开发它们就可以使用这些现成的组件。STL现在是C++的一部分,被内建在编译器之内。
  虽然STL是一个模板库,但其中也包含了许多部分。一般来说,STL由如下六个部分组成:

  STL的代码从广义上来讲可分为三类:容器,算法,迭代器。几乎所有的代码都采用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。
  在C++标准中,STL被组织为下面的13个文件:< algorithms>,< deque>,< functional>,< iterator>,< vector>,< list>,< map>,< memory>,< numeric>,< queue>,< set>,< stack>,< utility>。

  • STL主要包含容器、算法和迭代器三个部分。容器实现了大多数数据结构;迭代器类似指针,通过它的有序移动将容器中的元素与算法关联起来,是实现STL的基础。
  • 迭代器是STL重要的核心技术,提供了统一访问容器元素的方法。迭代器即指针,可以是所需的任何类型,它最大的好处是使容器与算法分离。因为不同容器中完成相同功能代码的思路大体相同,将其抽象出来就产生了迭代器,这是泛型编程的思想。
  • 在自己动手编写迭代器时,要在类中增加begin()、end()函数,用于获取起止迭代指针,要增加相应迭代器类,重载相关运算符,从而可以调用。
  • 特定容器有特定的迭代器,故将迭代器作为内部类更适合应用。每个容器均有对应的迭代器,容器通过迭代器共享某一具体算法,而算法不具体依赖某一具体容器。由此可见,STL的编程思想是:1.形成容器元素;2.取出所需的迭代指针;3.调用通用算法。
    ( ps:此四段摘自原文: )

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- shangjiatang.cn 版权所有 湘ICP备2022005869号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务