标准模板库(简介):
优秀的游戏程序员都很懒。当然不是指工作上的懒惰,不情愿,而是表示他们不愿意重复劳动,尤其是那些已经被很好完成的任务。标准模板库(简称STL)代表一个强大的,已经被很好地完成的编程任务的集合。它提供了一组容器,算法和迭代器等。
那么,容器又是什么东西呢?它对我们一些代码或者程序的实现又有什么优势性的帮助呢?容器可以可以用于存储和访问同一类型值的集合。数组也能做到这一点,但是与简单的数组比起来,STL容器更灵活且更强大。STL里面定义了各种容器类型,每种容器的工作原理不相同,但却可以满足不同的需求。
STL中定义的算法和容器一起使用,算法是游戏程序员在处理一组组数据时经常重复使用的函数,包括排序,查找,复制,合并,插入以及移除容器元素。算法的巧妙之处在于,同一个算分可以处理多种不同的容器类型。
迭代器是什么呢?它是标识容器不同元素的对象,能够用在元素间的移动。它对于循环访问容器非常有用。同时,STL算法需要使用迭代器。
当然空讲理论就是套白狼,当你看到某个容器类型的具体实现后,以上内容将变得更有意义。后期会讲一些容器类型的实现。
常用容器 | 常用迭代器 |
---|---|
list(双向链表),stack(栈),queue(队列),deque(双端队列),priority_queue(优先队列),map(映射),multimap(多元映射),set(集合),multiset(多元集合),vector(向量)… | iterator,const_iterator… |
参考书籍:
C++游戏编程入门(Michael Dawson著)