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

南昌建站模板公司企业宣传片的拍摄

南昌建站模板,公司企业宣传片的拍摄,长沙租车网站排名,国外私人网站一、反向迭代器 在list模拟实现的过程中#xff0c;第一次接触了迭代器的封装#xff0c;将list的指针封装成了一个新的类型#xff0c;并且以迭代器的基本功能对其进行了运算符重载 反向迭代器是对正向迭代器的封装#xff0c;并且体现了泛型编程的思想#xff0c;任意… 一、反向迭代器 在list模拟实现的过程中第一次接触了迭代器的封装将list的指针封装成了一个新的类型并且以迭代器的基本功能对其进行了运算符重载 反向迭代器是对正向迭代器的封装并且体现了泛型编程的思想任意类型的双向迭代器都可以直接复用反向迭代器 本章将把两个迭代器的实现放在一起比对更好的体会迭代器的封装 二、list正向迭代器的模拟实现 详解可以看list模拟实现那一章节这里仅提供一份代码用于对照反向迭代器 templateclass T,class Ref,class Ptrstruct __list_iterator{typedef list_nodeT node;typedef __list_iteratorT, Ref, Ptr self;node* _pnode;__list_iterator(node* p):_pnode(p){}self operator(){_pnode _pnode-_next;return *this;}self operator--(){_pnode _pnode-_prev;return *this;}self operator(int){self tmp(_pnode);_pnode _pnode-_next;return tmp;}self operator--(int){self tmp(_pnode);_pnode _pnode-_prev;return tmp;}Ref operator*(){return _pnode-_data;}Ptr operator-(){return (_pnode-_data);}bool operator!(const self p){return _pnode ! p._pnode;}bool operator(const self p){return _pnode p._pnode;}}; 三、反向迭代器的封装实现双向迭代器 反向迭代器的实现是对正向迭代器的封装 1.成员及其初始化 templateclass Iterator,class Ref,class Ptr struct ReserveIterator {typedef ReserveIterator self;//重命名方便使用Iterator _it;//成员变量ReserveIterator(Iterator it):_it(it){} } 2.基本功能的重载 1 和 -- 在反向迭代器的概念中反向迭代器就是正向迭代器-- self operator() {_it--;return *this; } self operator--() {_it;return *this; } //前置和-- self operator(int) {self tmp(*this);_it--;return tmp; } self operator--(int) {self tmp(*this);_it;return tmp; } 2 ! 和 bool operator!(const self s) {return _it ! s._it; } bool operator(const self s) {return _it s._it; } 3 - 和 * 在实现operator*()之前要先理解底层在stl库内的实现为了让begin()和rend(),所在的物理空间上对称但在使用的角度上来看并不对称为了使其对称且不影响使用对*和-的实现作出了调整解引用返回的是其前一个的位置 Ref operator*() {Iterator tmp(_it);_it--;return *tmp; } Ptr operator-() {Iterator tmp(_it);_it--;return (*_it); } 3.定义部分 typedef __list_iteratorT, T, T* iterator;typedef __list_iteratorT, const T, const T* con_iterator;typedef ReverseIteratoriterator, T, T* reverse_iterator;typedef ReverseIteratoriterator,const T,const T* con_reverse_iterator;iterator begin(){return iterator(_head-_next);}iterator end(){return iterator(_head);}con_iterator begin()const{return con_iterator(_head-_next);}con_iterator end()const{return con_iterator(_head);}reverse_iterator rbegin(){return reverse_iterator(end());}reverse_iterator rend(){return reverse_iterator(begin());} 总结 本章整理了关于反向迭代器的相关内容以及模拟实现
http://www.hkea.cn/news/14431554/

相关文章:

  • 厦门网站建设 智多星重庆市最新新闻
  • 网站深圳优化建设广西建设工程质量安全监督网站
  • 网站制作一键生成整站优化深圳
  • 郑州网站建设讯息qq企业邮箱登录入口
  • 搭建wap网站新手做网站应该注意什么
  • 网站蓝色导航栏代码动态图表制作软件
  • 外贸网站建站多少钱网站推广网站关键词排名怎么做
  • 网站开发项目有哪些软件技术适合女生学吗
  • 帮人家做网站怎么赚钱网络广告策划书范文
  • 哪个建站平台较好长链接转换成短链接
  • 东莞网站设计公司有哪些夹克定制公司
  • 江门cms模板建站网店店铺装修怎么做
  • 购物网站 后台模板深圳市住房和建设局网站怎么打不开了
  • 学做网站视频淘宝代运营公司一般怎么收费的
  • 杭州网站开发企业专做化妆品的网站
  • 网站管理教程中英文网站切换
  • 个人可以建门户网站吗江门seo网络推广
  • 浏览网站内下载文件学习网站开发心得体会
  • 做网站设计管理的专业衣柜全屋定制排名
  • 苏州网站优化公司3d网站建设方案
  • 做品牌网站哪个好用wordpress 提交表单
  • 建网站的步骤和方法购物网站哪个便宜
  • 中文网站建设开发郑州网站建设zzmshl
  • 北京网站建设推广服wordpress本地数据库密码忘记
  • 外贸网站制作价格表公司网站做优化
  • 有哪些室内设计网站seo排名技术软件
  • 移动端网站案例wordpress高亮
  • 游戏logo设计网站无人高清影视在线观看
  • 有哪些做企业点评的网站芜湖代理公司注册
  • 畔游网站建设域名备案网站名称