所谓泛型编程就是以独立于任何特定类实现的方式编写代码,针对不一样的类型提供通用的实现。
STL中的容器、迭代器、算法都是很好的泛型编程的实现。因为标准库使用了泛型技术,使得标准库几乎能使用于任何的类型。
在C++中实现泛型编程主要是利用C++中的模板技术进行实现的。
在STL中,容器是容纳特定类型对象的集合,在stl中,有顺序容器和关联容器两种。
关联容器:set multiset map multimap
在STL中,容器通常用模板类来实现。不过STL并无采用面向对象的技术。在stl中并无一个通用的容器类。各类具体的容器也没有统一的基类。
顺序容器:指提将一组具备相同类型的T的对象,以严格的线性形式组织在一块儿的容器。包括vector/deque和list这三种容器。注意list虽然不支持随机访问,但它倒是顺序容器。
stack/queue/priority_queue是容器适配器。容器适配器不是独立的容器,只是某种容器的变种,它提供原容器的一个专用的受限接口。特别是,容器适配器和普通容器不一样在于它不提供迭代器。在STL中3种容器适配器。即栈、队列、优先队列。即本段开头提到的三个。
queue back()读取队尾处元素。 front()读取队首元素。算法