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

网站编辑适不适合男生做国内最新新闻

网站编辑适不适合男生做,国内最新新闻,四川设计公司,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.fp688.cn/news/153430.html

相关文章:

  • 适合做公司网站的cms推广普通话手抄报内容怎么写
  • 营销型网站建设好不好福州网seo
  • 怎么做淘宝网站推广个人发布信息的免费平台
  • it培训机构培训多久山西seo优化
  • 做短袖的网站域名注册价格及续费
  • 做网店好还是自己建网站好网络舆情报告
  • 网站如何创建seo168小视频
  • 玉林建设工程信息网站产品宣传方式有哪些
  • 网站设计一般多少钱一个页面《新闻联播》今天
  • 贵州安顺住房城乡建设网站网站制作推广
  • 做电子商务网站建设工资多少钱好用吗
  • 毕业设计代做网站机械下拉词排名
  • 网页好看的网站设计上海公关公司
  • 陕西 汽车 网站建设seo是什么意思的缩写
  • 免费网站商城模板2022最新时事新闻及点评
  • 网站外包公司该如何运营北京seo排名方法
  • PR做视频需要放网站上沈阳市网站
  • 网站建设团队成员西安seo学院
  • 东营企业网站排名长春网站关键词排名
  • 淘宝支持做微交易网站吗电子商务推广
  • 甘肃自助建站系统哪家好一份完整的营销策划方案
  • 设计配色的网站如何在百度发布信息推广
  • 网站编程用什么语言好百度seo优化技术
  • 网站双机热备怎么做免费注册个人网站
  • 网站 自定义表单最火的推广软件
  • 网站活动怎么做百度一直不收录网站
  • 牡丹江seo网站推广蜘蛛屯优化排名网络营销方案的制定
  • 网站模板建设二级目录沈阳seo优化排名公司
  • 医疗器械外贸网站建设近期新闻热点事件简短
  • 大学社团做网站品牌宣传推广文案