容器vector,list,deuqe是C++STL中三种基本容器实现,它们不可能互为实现同时又不损失效率, 就像颜色中的三原色红绿蓝可以混成其他多种颜色. 而stack和queue则都可以在这三种基本容器序列基础上高效实现, 所以没有定义为独立的容器,而只作为基本容器适配器. 所以容器适配器所提供的是原来容器的一个受限的界面, 特别是适配器不提供迭代器. 所有stack和queue是用deque基本容器作为实现方式的. 容器适配器模板要提供两个类型1是容器中元素的类型, 2是选择的实现方式 请参考: 数据结构中的抽象界面(接口, 逻辑结构)和具体实现(物理结构)之间的关系. 设计模式中的适配者模式adaptor与adaptee, Bridge桥接 book:C++之父<The C++ programming language>, Gof<design pattern > 2016.4
c++容器和适配器
最新推荐文章于 2023-08-18 09:52:37 发布