天天看点

STL容器 容器适配器

 所谓泛型编程就是以独立于任何特定类实现的方式编写代码,针对不同的类型提供通用的实现。

 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()读取队首元素。

版权声明:本文为CSDN博主「weixin_33788244」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_33788244/article/details/91913398