第4章 标准模板库:Hangman
到此为止,已经介绍了如何使用数组表示值序列。但是还有更高级的使用元素集合的方法。实际上,由于经常要使用集合,所以标准C++(www.cppentry.com)中有一部分专门用于完成这项工作。本章将介绍该重要的库。具体而言,本章内容如下:
使用vector对象表示值序列
使用vector成员函数对序列元素进行操作
使用迭代器对序列进行循环访问
使用库算法对一组元素进行操作
使用伪代码设计程序
4.1 标准模板库简介
优秀的游戏程序员都很懒。这并不是指他们不愿意工作,而是表示他们不愿意重复劳动,尤其是那些已经被很好地完成的任务。标准模板库(Standard Template Library,STL)代表一个强大的、已经被很好地完成的编程(www.cppentry.com)任务的集合。它提供了一组容器、算法和迭代器等。
那么,什么是容器?它对编写游戏有何帮助?容器可以用于存储和访问同一类型值的集合。数组也能做到这一点,但是与简单但忠实的数组比起来,STL容器更灵活且更强大。STL定义了各种容器类型,每种容器的工作原理不同,可以满足不同的需求。
STL中定义的算法和容器一起使用。算法是游戏程序员在处理一组组数据时经常重复使用的函数,包括排序、查找、复制、合并、插入以及移除容器元素。算法的妙处在于,同一个算法可以用于处理多种不同的容器类型。
迭代器是标识容器中不同元素的对象,能够用来在元素间移动。它对于循环访问容器非常有用。另外,STL算法需要使用迭代器。
看到某个容器类型的具体实现后,以上内容将显得更有意义。下面开始介绍容器类型。