当前位置:嗨网首页>书籍在线阅读

13-标准模板库

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

16.3 标准模板库

STL提供了一组表示容器、迭代器、函数对象和算法的模板。容器是一个与数组类似的单元,可以存储若干个值。STL容器是同质的,即存储的值的类型相同;算法是完成特定任务(如对数组进行排序或在链表中查找特定值)的处方;迭代器能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针;函数对象是类似于函数的对象,可以是类对象或函数指针(包括函数名,因为函数名被用作指针)。STL使得能够构造各种容器(包括数组、队列和链表)和执行各种操作(包括搜索、排序和随机排列)。

Alex Stepanov和Meng Lee在Hewlett-Packard实验室开发了STL,并于1994年发布其实现。ISO/ANSI C++委员会投票同意将其作为C++标准的组成部分。STL不是面向对象的编程,而是一种不同的编程模式——泛型编程(generic programming)。这使得STL在功能和方法方面都很有趣。关于STL的信息很多,无法用一章的篇幅全部介绍,所以这里将介绍一些有代表性的例子,并领会泛型编程方法的精神。先来看几个具体的例子,让您对容器、迭代器和算法有一些感性的认识,然后再介绍底层的设计理念,并简要地介绍STL。附录G对各种STL方法和函数进行了总结。