boost::iterator_adaptor (III)

发信人: hhuu (我爱XXX), 信区: Programming
标  题: boost::iterator_adaptor  (III)
发信站: BBS 水木清华站 (Mon May 20 17:57:07 2002)

小技巧前面都讲过了, 最后来讨论一下存在的意义吧. ;)

  iterator是stl的特征之一。通过iterator遍历容器, 通过*iterator访问容
  器中的元素,这样的想法显然脱胎于指针。关于iterator和Doc/View结构的比
  较,之前曾经在blitz的文档中提过(那篇C++若干技术的讨论结尾)。文中所
  说的观念现在看起来不是很合适。事实上,每一个iterator都可以看作一个
  View!通过改变iterator来实现对于同一Data的不同View的技巧, 也就是为
  什么要使用iterator_adaptor最初的动机。

  我觉得iterator_adaptor这里的adaptor并不切合它实际的意思,绝大多数情
  况下,iterator_adaptor是包装原有的iterator,修改它的行为。希望大家
  能提一个更好的说法。

  如果对iterator本来就有所了解的话,你可以猜到iterator需要哪些模板参数。
  这些参数当中最重要的就是policy了,这倒是名副其实的很,和dp中policy的
  意思一样。iterator的处理方法就是把对iterator的操作转到policy中去完成。
  而你实现一个自己的policy的方法,就是继承那个default_policy,然后用自
  己的方法覆盖。比如说string中的iterator缺省是按char移动的,如果你改动
  了policy,使他按word移动,那该如何?嗯,具体的实现就是
  boost::tokenize。

 

--

※ 来源:·BBS 水木清华站 bbs.edu.cn·[FROM: 166.111.64.166]                                                            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值