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

做网站的价格 外贸wordpress修改主题图片路径

做网站的价格 外贸,wordpress修改主题图片路径,爱客装修官网,网站布局的重要性我们知道正向迭代器的设计: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.yayakq.cn/news/903705/

相关文章:

  • 商丘网站建设推广渠道湖南郴州市是几线城市
  • 地图制作网站学校网站设计的目的
  • .net网站封装用地方别名做网站名
  • 如何联系网站站长百度竞价价格查询
  • 网站的建站风格科技数码app排名
  • 关于 公司网站建设的通知管家婆客户管理系统
  • 天津艺匠做网站5 网站建设的基本步骤是
  • 网站开发可演示的版本百度集团公司简介
  • wordpress安装 后合肥百度快速排名优化
  • 口碑营销的四种驱动方式网站优化简历模板
  • 云上的网站怎么做等保网站统计数据
  • flash做网站步骤wordpress模板修改字体
  • 厦门同安网站建设福州网络营销网站
  • 建网站自己做服务器凡科网多页网站怎样做
  • 中国建设银行网站-诚聘英才h5游戏充值折扣平台
  • 网站空间哪里便宜网络营销的新特点
  • 做彩票网站需要境外网络信息安全公司排名
  • 网站开发二维码生成百度收录怎么做
  • 网站建设 方案下载网站备案号被注销怎么办
  • 帝国cms做下载网站宁波外贸网站
  • dw做的网站能直接使用吗做网站和做app哪个容易
  • 想自己做淘宝有什么网站开通微信公众号
  • h5游戏网站开发weixinqqcom微信官网
  • 做网站用哪几个端口 比较好信息门户网站制作
  • 广州珠江工程建设监理有限公司网站建设网站的题目
  • 漂亮的手机网站模板浙江省建设门户网站
  • 如何在百度中搜索到网站商丘企业网站建设费用多少钱
  • 什么网站能接单做网站wordpress网站安全
  • dede网站网页主页链接企业网站开发期末报告
  • 耀华建设管理有限公司网站安徽专业网站建设设计