容器和容器适配器有什么区别和联系,为什么容器适配器模板要提供两个类型,这两个类型各代表什么?

 我来答
lffwlffw
2010-08-13 · 超过15用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:28.8万
展开全部
容器vector,list,deuqe是C++STL中三种基本容器实现,它们不可能互为实现同时又不损失效率, 就像颜色中的三原色红绿蓝可以混成其他多种颜色.
而stack和queue则都可以在这三种基本容器序列基础上高效实现, 所以没有定义为独立的容器,而只作为基本容器适配器.
所以容器适配器所提供的是原来容器的一个受限的界面, 特别是适配器不提供迭代器.
所有stack和queue是用deque基本容器作为实现方式的.
容器适配器模板要提供两个类型1是容器中元素的类型, 2是选择的实现方式

请参考:
数据结构中的抽象界面(接口, 逻辑结构)和具体实现(物理结构)之间的关系.
设计模式中的适配者模式adaptor与adaptee, Bridge桥接
book:C++之父<The C++ programming language>, Gof<design pattern >
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式