Adapter(适配器)

适配器, 在STL中扮演着转换器的角色,本质上是一种设计模式,用于将一种接口转换成另一种接口,从而是原本不兼容的接口能够很好地一起运作。容器、迭代器、和函数都有适配器,  适配器不提供迭代器。

1、容器适配器

stack、queue-----内含底层容器Sequence,需要把Sequence利用Adapter适配一下

2、函数适配器

binder2nd-----bind2nd(less<int>())是一个object

搞清楚小括号是函数调用还是创建对象

函数适配器就是通过将一个操作数绑定到给定值,而将二元函数对象转换为一元函数对象。

函数适配器分为两类:绑定器 与 求反器。

仿函数适配器,相比于其他适配器更加地灵活,可以自由地组合适配。

  绑定器:

       通过bind,我们将仿函数与参数进行绑定,可实现算法所需的条件判断功能,例如判断小于12的元素时,可使用bind2nd(less(),12),就可以达到目的。

 

 

  求反器:

        否定(negate)这里就是取反的操作,例如not1(bind2nd(less(),12)),就可判断不小于12的元素。

3. 迭代器适配器
 STL提供了很多应用于迭代器的适配器,主要有:

  • insert_iterator:( 这种迭代器,可以将迭代器的赋值操作转变为插入操作。根据功能的不同,还分为用于尾端插入的back_insert_iterator,用于头端插入的front_insert_iterator,用于任意位置插入的insert_iterator)
  • reverse_iterator:(正向加加的逆向就是减减的操作)逆向迭代器取值就是将正向迭代器退一个来取值

4. X适配器

  • istream_iterator:这种迭代器,将自己绑定一个istream对象身上,从而获得输入的功能。
  • ostream_iterator:这种迭代器,将自己绑定一个ostream对象身上,从而获得输出的功能。
  • istreambuf_iterator:
  • ostreambuf_iterator

参考文档:http://t.csdn.cn/EWHlc

http://t.csdn.cn/VF9fG

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佳佳在学C++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值