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

免费cad图纸下载网站广州有哪些做网站的公司

免费cad图纸下载网站,广州有哪些做网站的公司,王野天,淄博网站建设讲解透彻前言#xff1a; 上一章我们介绍了适配器#xff0c;也提了一下迭代器适配器#xff0c;今天我们就从反向迭代器把迭代器适配器给解释一下。 既然 都叫迭代器容器了 就说名只要接口合适他可以封装实现各种容器需求包括vector list 。 目录 1.反向迭代器设计 1.1反向迭代…前言 上一章我们介绍了适配器也提了一下迭代器适配器今天我们就从反向迭代器把迭代器适配器给解释一下。 既然 都叫迭代器容器了 就说名只要接口合适他可以封装实现各种容器需求包括vector list 。 目录 1.反向迭代器设计 1.1反向迭代器思想  1.2多参数模板 2.vecor反向迭代器 3.list反向迭代器 1.反向迭代器设计 反向迭代器 reverse_iterator 可以用来反向遍历容器在某些场景下很实用 1.1反向迭代器思想  因为数组比较简单我们就从数组引出反向的思想。  注库中的反向迭代器在设计时为了最求极致的对称rbegin() 指向最后一个有效元素的下一个位置rend() 指向第一个有效元素位置是与正向迭代器相反的 通过图示知道反向迭代器的就是正向迭代器的--。反向迭代器的--就是正向迭代器的因此反向迭代器的实现可以借助正向迭代器即反向迭代器内部可以包含一个正向迭代器对正向迭代器的接口进行包装即可。 1.2多参数模板 在模拟实现list迭代器时候我们在const对象对普通对象代码的复用的 过程中引入了多参数模板不同参数实现不同功能反向迭代器的实现同样适用。有两点需要注意 重载operator*返回的是目标对象的引用又因为库里追求极致对称所以我们应该先执行--操作后返回对象的引用。具体返回的对象是否需要const修饰取决于我们使用的模板参数。 #pragma once namespace cmx {template class iterator, class Ref, class Ptrstruct Reverselterator{typedef Reverselteratoriterator, Ref, Ptr self;iterator _it;Reverselterator(iterator it):_it(it){}Ref operator *(){iterator tmp _it;return *(--tmp);}Ptr operator -(){return (operator*());}self operator(){-- _it;return *this;}self operator--(){ _it;return *this;}bool operator !(const self s) const{return _it ! s._it;}};} 完成头文件的编写之后我们就可以把他运用于所有可以用迭代器访问的容器 比如 vector list只需要修改模版参数中正向迭代器的代码就可以适配出属于自己的反向迭代器。 2.vecor反向迭代器 只需要引用 反向迭代器的头文件 ReverseIterator.h 就可以使用具体代码如下 #includeassert.h #includeReverseIterator.hnamespace cmx {templateclass Tclass vector{public:typedef T* iterator;typedef const T* const_iterator;typedef Reverselteratoriterator, T, T* reverse_iterator;typedef Reverselteratorconst_iterator, const T, const T* const_reverse_iterator;reverse_iterator rebegin(){//this调用的end()函数return reverse_iterator(end());}reverse_iterator rend(){return reverse_iterator(begin());} 3.list反向迭代器 代码如下 templateclass Tclass list{typedef list_nodeT Node;public:typedef __list_iteratorT, T, T* iterator;typedef __list_iteratorT, const T, const T* const_iterator;typedef Reverselteratoriterator, T, T* reverse_iterator;typedef Reverselteratorconst_iterator, const T, const T* const_reverse_iterator;
http://www.dnsts.com.cn/news/92849.html

相关文章:

  • 有哪个网站做ic浙江省2011年1月高等教育自学考试 网站建设与管理试题与答案
  • 重庆网站设计系统平面设计类网站有哪些
  • 从零开始学网站建设怎么在网站上做按钮
  • 做网站不给源码程序湖南响应式网站推荐
  • 网站开发结构区域知识产权贸易中心
  • 电商平台网站建设合同台州h5建站
  • 印象网站建设微营销软件
  • 嘉兴网站推广企业搜索引擎营销的英文缩写
  • 局机关网站建设改进措施科技建站网站源码
  • 旅游网站开发的意义相关资料房产网站怎么建设
  • 旅游网站建设风险wordpress安装插件失败
  • 网站虚拟视频主持人枣庄公司网站建设
  • 网站平台建设意见郑州做网站哪家公司最好
  • 网站免费关键词如何做wordpress分类导航主题
  • 甜品蛋糕网站建设策划书网页设计代码复习
  • 上虞做网站公司网站建设模板删不掉
  • 局网站建设管理整改情况南通做百度网站的公司网站
  • 网上商城建站工作室网络推广的方法有多选题
  • 网站建设运营工作业绩百度外推代发排名
  • 武功网站建设电商网站怎么做的
  • 南宁公司网站建设公司哪家好昆山网站设计
  • 网站建设收费标准案例seo长沙
  • iis网站权限怎么设置杭州做肉松饼的网站有多少家
  • 支付网站建设费用做账目前主流的跨境电商平台有哪些
  • 阿里云做网站多少钱舟山seo
  • 聊城住房建设局网站前端开发软件哪个最好
  • 做网站基本要求蜂蜜网站建设
  • 坪山公司网站建设中国重大新闻
  • 产品设计优秀网站从化免费网站建设
  • 网站建站分为两种html在线运行