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

常州公司网站建设网站开发找哪家

常州公司网站建设,网站开发找哪家,西安seo建站,网站备案资料修改目录 一、反向迭代器 二、反向迭代器的实现 一、反向迭代器 之前的模拟实现vector、list 的时候#xff0c;这些都是实现了正向迭代器#xff0c;反向迭代器都没有实现#xff0c;这里就要实现反向迭代器 反向迭代器也是适配器#xff08;配接器#xff09;的一种#…目录 一、反向迭代器 二、反向迭代器的实现 一、反向迭代器 之前的模拟实现vector、list 的时候这些都是实现了正向迭代器反向迭代器都没有实现这里就要实现反向迭代器 反向迭代器也是适配器配接器的一种反向迭代器的实现是对正向迭代器的封装即实现的反向迭代器能支持多种容器给出该容器的正向迭代器就能支持反向迭代器 比如 vector 需要反向迭代器那就把 vector 的正向迭代器传给 反向迭代器它就可以通过正向迭代器转换出 vector 的反向迭代器。 也就是说实现的反向迭代器并包装的这个类不是针对某个容器而是针对所有容器的任何一个容器只要你实现了正向迭代器就可以通过其适配出反向迭代器 要注意反向迭代器的错位访问 对于 list 而言正向迭代器的 begin 和 end 位置如下 begin 位于头结点的下一个节点end 则位于尾结点的下一个节点即头节点正向迭代器 操作迭代器是往后走的 反向迭代器 rbegin 和 rend 位置如下 反向迭代器 rbegin() 位于正向迭代器 end() 的位置 反向迭代器 rend() 位于正向迭代器 begin() 的位置反向迭代器 操作迭代器是往前走的 vector 反向迭代器也是如此 对于 list 来说反向迭代器解引用取数据取的是头节点上一个节点位置的数据vector 也是如此 二、反向迭代器的实现 Iterator.h #pragma oncetemplateclass Iterator, class Ref, class Ptr class ReverseIterator {typedef ReverseIteratorIterator, Ref, Ptr Self; public:ReverseIterator(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){return _it ! s._it;}private:Iterator _it; };下面套到 list 里面进行测试 //反向迭代器 typedef ReverseIteratoriterator, T, T* reverse_iterator; typedef ReverseIteratorconst_iterator, const T, const T* const_reverse_iterator; 在 list 里面添加反向迭代器代码 reverse_iterator rbegin() {return reverse_iterator(end()); }reverse_iterator rend() {return reverse_iterator(begin()); } 测试代码 void Test_ReverseIterator() {fy::listint lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(5);lt.push_back(6);fy::listint::iterator it lt.begin();while (it ! lt.end()){cout *it ;it;}cout endl;fy::listint::reverse_iterator rit lt.rbegin();while (rit ! lt.rend()){cout *rit ;rit;}cout endl; } 运行结果 list 的反向迭代器就完成了下面测试 vector 的反向迭代器 把 Iterotor.h 拷贝一份到 vector 里面 //反向迭代器 typedef ReverseIteratoriterator, T, T* reverse_iterator; typedef ReverseIteratorconst_iterator, const T, const T* const_reverse_iterator; 在 vector 里面添加反向迭代器代码 reverse_iterator rbegin() {return reverse_iterator(end()); }reverse_iterator rend() {return reverse_iterator(begin()); } 测试代码 void Test_ReverseIterator() {fy::vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);v.push_back(5);v.push_back(6);fy::vectorint::iterator it v.begin();while (it ! v.end()){cout *it ;it;}cout endl;//反向迭代器fy::vectorint::reverse_iterator rit v.rbegin();while (rit ! v.rend()){cout *rit ;rit;}cout endl;} 运行结果 ----------------我是分割线--------------- 文章到这里就结束了下一篇即将更新
http://www.hkea.cn/news/14268384/

相关文章:

  • 简单的个人网站模板wordpress流量统计插件
  • 集团网站建设基础方案网站做302重定向
  • app软件下载站seo教程做网站需要了解
  • 九江做网站的模板素材
  • 网站域名备案注销销售平台建设方案
  • 大良营销网站建设好么深圳网站建设深圳网络公司
  • 建手机网站要多少钱信誉好的丹徒网站建设
  • 怎样建设一个自己的网站首页php p2p网站建设
  • 网站开发技术语言做网站什么服务器好
  • 长沙网站开发哪家好网站彩票做号
  • 网站做招聘需要什么资质长安网站建设流程
  • 门户网站后台管理模板网站建设 技术架构
  • 建设一个网站需要哪些材料国内最新新闻事件今天
  • 长沙微网站建设公司权重提升
  • 上海网站备案信息注销公司官网如何搭建
  • 上传网站软件dnf卖飞机的网站怎么做的
  • 影院网站模板页面设计器翻译成英文
  • 自由体网站建设vr全景正规的关键词优化软件
  • 做流量网站挂广告还能挣钱吗网站建设需要的项目
  • 学生求职网站的需求分析怎么做个人网页背景图片
  • 制作 网站 盈利flash同视频做网站
  • 当地建设局网站营销型和展示型网站
  • 重庆市建设岗培中心网站网站建设费用说明
  • 重庆建设网官网深圳债务优化公司
  • 电商网站开发设计文档wordpress 调用导航栏
  • wordpress站群做京挑客的网站有哪些
  • 建网站义乌外贸网站推广优化
  • 五大类型网站输入文字生成图片app
  • 浙江省住房和城乡建设厅网站查询wordpress personal主题
  • 网站开发应如何入账网站后台管理的超链接怎么做