首页 > 其他 > 详细

适配器(Adapter)

时间:2019-02-18 13:28:14      阅读:199      评论:0      收藏:0      [点我收藏+]

  Adapter:将一个Class的接口转换成另一个Class的接口,使原本因接口不兼容而不能合作的Class可以一起运作。主要有两种:迭代器适配器(Iterator Adpater)和容器适配器(Contaier Adpater)

迭代器适配器(Iterator Adpater)主要有三种:insert iterator,reverse iterator,iostream iterator。

Insert Iterator

  它的作用是将一般迭代器的赋值(assign)操作转变为插入(insert)操作。

技术分享图片

  这三种形式的最大区别无非就是使用Adapter之后元素插入的位置了

  以把经过Iterator Adapter修饰之后的结果当成是一种迭代器,依然可以用*符号,但不同的是当你对它进行赋值的时候,它将自动进行insert操作。

  也就是说在insert iterator的封装下,该iterator只是将assign操作变成了push_back,push_front,insert,而其他操作++,--,*全部返回原先的iterator

   这也就能够解释copy函数的时候进行复制的底层实现了,在每复制一个值后的++对insert iterator并不起作用,只有赋值assign会起到相关操作。

  技术分享图片

 

适配器(Adapter)

原文:https://www.cnblogs.com/tianzeng/p/10395048.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!