当前位置: 首页 > news >正文

浙江省建设厅网站资质迁移wordpress 排除置顶

浙江省建设厅网站资质迁移,wordpress 排除置顶,普洱市交通建设集团官方网站,django做视频网站我们知道正向迭代器的设计:begin迭代器指向第一个数据,end迭代器指向最后一个数据的下一个位置 。移向下一个数据,解引用得到数据的值,并根据容器储存方式的不同,容器有不同类型的迭代器。 注意:rbegin迭代…

我们知道正向迭代器的设计:begin迭代器指向第一个数据,end迭代器指向最后一个数据的下一个位置 。++移向下一个数据,解引用得到数据的值,并根据容器储存方式的不同,容器有不同类型的迭代器。

注意:rbegin迭代器指向最后一个数据的下一个位置,rend迭代器指向第一个数据,这里就体现了镜像对称,正向与反向迭代器成为对称关系。

        可是,如果按照rebegin指向的位置,第一次解引用得到的应该是随机值,这是有问题的,那么stl解决方案是什么呢?它采用的方法是:解引用得到的是rebegin迭代器前一个位置的数据

        为了简便,反向迭代器采用的是适配器模式,适配正向迭代器,反向迭代器的++将调用正向迭代器的--,反之亦然。

例如:

         我们给出统一的反向迭代器模板,对于各容器,由模板实现各自的迭代器。给模板什么正向迭代器,它就适配出相应容器的反向迭代器

#pragma oncenamespace my_ReverseIterator
{template<class Iterator, class Ref, class Ptr>struct ReverseIterator{typedef ReserveIterator<Iterator, Ref, Ptr> self;Iterator _it;ReverseIterator(Iterator it):_it(it){}Ref operator*() {Iterator tmp = _it;return *(--tmp);	//这里没有模板类型,该返回什么类型呢?1. 萃取 2. 使用者在模板处给出}Ptr operator->(){return &(operator*());}self& operator++(){--_it;return *this;}self& operator--(){++_it;return *this;}bool operator!=(const self& s) const{return _it != s._it;}};
}

我们补充上list、vector容器的迭代器

例如:list

		typedef __list_iterator<T, T&, T*> iterator;	//迭代器要公有,让外面可以使用typedef __list_iterator<T, const T&, const T*> const_iterator;typedef ReverseIterator<iterator, T&, T*> reverse_iterator;typedef ReverseIterator<const_iterator, const T&, const T*> const_reverse_iterator;//用 end 适配 rbeginreverse_iterator rbegin(){return reverse_iterator(end());}//用 begin 适配 rendreverse_iterator rend(){return reverse_iterator(begin());}iterator begin(){//由指针类型隐式转换为iterator类//return _head->_next;//也可以用匿名对象return iterator(_head->_next);}iterator end(){return iterator(_head);}

例如:vector

		typedef T* iterator;typedef const T* const_iterator;//此时反向迭代器是自定义类型typedef ReverseIterator<iterator, T&, T*> reverse_iterator;typedef ReverseIterator<const_iterator, const T&, const T*> const_reverse_iterator;reverse_iterator rbegin(){return reverse_iterator(end());}reverse_iterator rend(){return reverse_iterator(begin());}iterator begin(){return _start;}iterator end(){return _finish;}

其余容器也相同 


        反向迭代器也是适配器模式

        最后,如果小帅的本文哪里有错误,还请大家指出,请在评论区留言(ps:抱大佬的腿),新手创作,实属不易,如果满意,还请给个免费的赞,三连也不是不可以(流口水幻想)嘿!那我们下期再见喽,拜拜!

http://www.15wanjia.com/news/181920.html

相关文章:

  • 创建网站的网站建设网站平台滴滴车
  • 做电影网站为什么要数据库沈阳网站建设优秀公司
  • 做网站必须开厂吗主流媒体网站建设
  • 江宁网站建设要多少钱毕设 做网站
  • 泉州建行 网站wordpress文章样式出错
  • 盖州网站优化电子商务网站建设课后作业
  • 网站备案个人信息泄露运营工资一般多少
  • 响应式潍坊网站建设网站app开发
  • 襄阳市做网站的公司定制购物平台
  • 连云港网站建设价位网络营销促销策略有哪些
  • 会计做帐模板网站世界做诡异的地方网站
  • 建个网站需要多少钱? 知乎郑州中航软件开发有限公司
  • 网站开发教程H5可以自己做网站吗
  • 企业网站优化公司哪家好微商分销模式有哪些
  • 网站数据库有什么用企业建站套餐
  • 网站换服务器后备案填写网站名称可以改么胶南网站建设公司
  • 菏泽网站建设信息帝国cms官方网站
  • 百度云电脑版网站入口企业网站设计方案书
  • 铜仁建设公司网站网站建设教程纯正苏州久远网络
  • 网站基本常识拼多多代运营
  • 资深的教育行业网站开发思帽西宁网站建设
  • 网站下拉菜单代码在线支付 网站模板
  • 广州网站开发广州亦客网络解答金城武重庆森林经典台词
  • 网上做调查问卷赚钱的网站广州企业建站系统模板
  • 浦口区网站建站公司注册核名流程
  • 在百度怎么建自己的网站免费给人做网站的
  • 织梦网站站标zf厂手表网站
  • 自己怎么做团购网站首页明月wordpress
  • 办网站需要多少费用南京制作网页学校
  • 从化网站设计怀化seo