泛型编程旨在编写独立于数据类型的代码。在c++中完成通用程序的工具是模板。当然,模板使得能够按泛型定义函数或类,而stl通过通用算法更近一步。
为何使用迭代器?
理解迭代器是理解STL的关键所在。模板使得算法独立于存储的数据结构,而迭代器使算法独立于使用的容器类型。
关联容器的优点在于能提供对元素的快速访问。与序列相似,关联容器也允许插入新元素,但不能指定元素的插入位置。原因在于关联容器通常有用于确定数据放置位置的算法,以便能够快速检索信息。
关联容器通常使用某种树实现的。相对于链表,这种树的查找速度更快。
对于set,值类型和键相同,值就是键,集合中不会有多个相同的键。multiset可能有多个值的键相同。
在map中,值和键类型不同,键是唯一的,每个键对应一个值。mutimap一个键可以和多个值相关联。