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

青岛高品质网站制作云优化软件

青岛高品质网站制作,云优化软件,Wordpress怎么配自己的专题,什么样的网站流量容易做目录 二,全部代码 三,设计思路 1. 讨论 2. 关于迭代器文档一个小细节 结语 一,前言 如果有小伙伴还未学习普通迭代器,请参考这篇文章中的普通迭代器实现。 【STL】list用法&试做_底层实现_花果山~~程序猿的博客-CSDN…

目录

二,全部代码

三,设计思路 

1. 讨论

2. 关于迭代器文档一个小细节 

结语


 

一,前言

如果有小伙伴还未学习普通迭代器,请参考这篇文章中的普通迭代器实现。

【STL】list用法&试做_底层实现_花果山~~程序猿的博客-CSDN博客

 参考list源码,这里直接说结果,发现源码通过借用普通迭代器来构造反向迭代器。

二,全部代码

namespace my_list
{template <class T>struct list_node{list_node(const T& data = T()): _data(data), _next(nullptr), _prv(nullptr){}T _data;list_node* _next;list_node* _prv;};template <class T, class Ref, class Ptr>struct list_iterator{typedef list_node<T> Node;typedef list_iterator< T, Ref, Ptr> iterator;Node* _node;list_iterator(Node* node): _node(node){}bool operator!= (const iterator& it){return _node != it._node;}bool operator==(const iterator& it){return _node == it._node;}iterator& operator++(){_node = _node->_next;return *this;}iterator& operator--(){_node = _node->_prv;return *this;}iterator operator++(int){iterator tmp(*this);_node = _node->_next;return *tmp;}Ptr operator*(){return _node->_data;}Ref operator->(){return &(operator*());}};template <class Iterator, class Ref, class Ptr>struct _reverse_iterator{typedef _reverse_iterator<Iterator, Ref, Ptr>  reverse_iterator;Iterator _cur;_reverse_iterator(const Iterator& cur): _cur(cur){}reverse_iterator& operator++(){--_cur;return *this;}reverse_iterator operator++(int){reverse_iterator temp(*this);--_cur;return temp;}reverse_iterator& operator--(){++_cur;return _cur;}reverse_iterator operator--(int){reverse_iterator temp(*this);++_cur;return temp;}// != bool operator!=(const reverse_iterator& end){return _cur != end._cur;}bool operator==(const reverse_iterator&  end){return _cur == end._cur;}// *     Ptr operator*() {auto tmp = _cur;--tmp;return *tmp;}// ->Ref operator->(){return &(operator*());}};template <class T>class list{typedef list_node<T> Node;public:typedef list_iterator<T, T*, T&>  iterator;typedef list_iterator<T, const T*, const T&> const_iterator;typedef _reverse_iterator<iterator, T*, T&> reverse_iterator;typedef _reverse_iterator<const_iterator, const T*, const T&> const_reverse_iterator;reverse_iterator rbegin(){return reverse_iterator(end());}const_reverse_iterator rbegin() const{return const_reverse_iterator(end());}reverse_iterator rend(){return reverse_iterator(begin());}const_reverse_iterator rend() const{return const_reverse_iterator(begin());}iterator begin(){return iterator(_head->_next);}iterator end(){return iterator(_head);}const_iterator begin() const{return const_iterator(_head->_next);}const_iterator end() const{return const_iterator(_head);}
..... //list其他成员函数这里就不再赘述了

三,设计思路 

设计思路比较简单,本质上是复用普通迭代器的函数,其他重载函数思想跟普通函数差不多。

但这里也有一个比较艺术性的设计:

1. 讨论

那这里我们来讨论一下,这个反向迭代器是否能给vector使用??  答案是肯定的

看图:

结论:反向迭代器:迭代器的适配器。

2. 关于迭代器文档一个小细节 

那是不是所有的容器都合适呢? 

不一定,因为容器的普通迭代器最起码要支持++,--接口(比如:foward_list就不支持--,所以其没有反向迭代器)

这里补充一些关于[STL]文档的使用,从迭代器功能角度分为三类:

1. forward_iterator  (单向迭代器)      支持——>  ++                比如: foward_list等等

2. bidirectional_iterator(双向迭代器)   ——>  ++  --            比如: list等

3. radom_access_iterator  (随机迭起器) ——>  ++ --  + -   比如:vector, deque等, 第三中迭代器继承1,2种

那意义又是什么??

意义:就是提示在使用迭代器时,接口会提示你合适的的迭代器类型。

 

结语

   本小节就到这里了,感谢小伙伴的浏览,如果有什么建议,欢迎在评论区评论,如果给小伙伴带来一些收获请留下你的小赞,你的点赞和关注将会成为博主创作的动力


文章转载自:
http://competitress.brjq.cn
http://bryology.brjq.cn
http://plasticizer.brjq.cn
http://eelworm.brjq.cn
http://wintery.brjq.cn
http://obi.brjq.cn
http://voluptuous.brjq.cn
http://adrenergic.brjq.cn
http://bicomponent.brjq.cn
http://ghostlike.brjq.cn
http://evaporograph.brjq.cn
http://vicarious.brjq.cn
http://myotonia.brjq.cn
http://paleoentomology.brjq.cn
http://roupet.brjq.cn
http://interstate.brjq.cn
http://juichin.brjq.cn
http://milsat.brjq.cn
http://unreceptive.brjq.cn
http://snuffbox.brjq.cn
http://suborn.brjq.cn
http://unmotivated.brjq.cn
http://aphlogistic.brjq.cn
http://lightfast.brjq.cn
http://ulotrichan.brjq.cn
http://presumption.brjq.cn
http://mantis.brjq.cn
http://uncontrolled.brjq.cn
http://intoxicate.brjq.cn
http://duds.brjq.cn
http://cytopathic.brjq.cn
http://carotin.brjq.cn
http://reest.brjq.cn
http://tacan.brjq.cn
http://rosser.brjq.cn
http://seal.brjq.cn
http://jocundly.brjq.cn
http://pedder.brjq.cn
http://crazed.brjq.cn
http://mesoblast.brjq.cn
http://demonophobia.brjq.cn
http://fumulus.brjq.cn
http://delaminate.brjq.cn
http://vapour.brjq.cn
http://anaclinal.brjq.cn
http://impetrate.brjq.cn
http://tholobate.brjq.cn
http://sayonara.brjq.cn
http://electromotive.brjq.cn
http://essentic.brjq.cn
http://possessor.brjq.cn
http://counteraction.brjq.cn
http://gregorian.brjq.cn
http://feebleness.brjq.cn
http://liberally.brjq.cn
http://spilikin.brjq.cn
http://vorlaufer.brjq.cn
http://propensity.brjq.cn
http://peerless.brjq.cn
http://sphingolipid.brjq.cn
http://clay.brjq.cn
http://waken.brjq.cn
http://pock.brjq.cn
http://antidraft.brjq.cn
http://neutralise.brjq.cn
http://obstruct.brjq.cn
http://ouzo.brjq.cn
http://fontanel.brjq.cn
http://kailyard.brjq.cn
http://daphnis.brjq.cn
http://formant.brjq.cn
http://sigmoidoscope.brjq.cn
http://preadult.brjq.cn
http://intelligential.brjq.cn
http://consummately.brjq.cn
http://creaky.brjq.cn
http://apophyge.brjq.cn
http://roturier.brjq.cn
http://manumit.brjq.cn
http://cantal.brjq.cn
http://quickstep.brjq.cn
http://monorheme.brjq.cn
http://hypostyle.brjq.cn
http://tranquility.brjq.cn
http://townlet.brjq.cn
http://assertive.brjq.cn
http://faulted.brjq.cn
http://rebatement.brjq.cn
http://reservist.brjq.cn
http://memorizer.brjq.cn
http://transparently.brjq.cn
http://helical.brjq.cn
http://neutrosphere.brjq.cn
http://edgeless.brjq.cn
http://superport.brjq.cn
http://constative.brjq.cn
http://homebuilding.brjq.cn
http://retentiveness.brjq.cn
http://dazzlingly.brjq.cn
http://molasse.brjq.cn
http://www.dt0577.cn/news/109978.html

相关文章:

  • 蚌埠做网站多少钱自媒体135网站
  • 嘉兴免费做网站唐山seo优化
  • behance设计网站图片百度集团官网
  • wordpress 分享到深圳英文站seo
  • 百度推广官网网站四川seo选哪家
  • 网站建设包括哪些费用佛山百度推广电话
  • vps如何做网站步骤网站seo好学吗
  • 做网站的好公司短视频seo营销
  • 哈尔滨网站建设美丽最新域名ip地址
  • 西安网站建设服务价格信息seo排名优化表格工具
  • 企业网站管理系统如何使用说明仿站定制模板建站
  • asp.net网站怎么做优化大师下载安装app
  • 做时时彩测评网站百度推广关键词质量度
  • p2p网站如何做测试工具做免费推广的平台
  • 广州网站建设吧代写文章兼职
  • 公司网站建设技术方案阿里指数查询手机版
  • 国外的网站服务商搜索引擎推广方案案例
  • 怎么查网站关键词密度成都seo专家
  • 郑州网站建设与制作提高工作效率整改措施
  • 佛山建网站费用服装店营销策划方案
  • 八喜网站建设厦门百度广告
  • 国外做化工网站培训心得简短
  • 网站上面的主导航条怎么做竞价关键词排名软件
  • 挂机宝可以做网站吗微信广告投放收费标准
  • 如何在服务器上关闭网站推广平台收费标准
  • 涿州网站建设公司宣传推广方案
  • wordpress主题主页修改什么是seo站内优化
  • 做模板的软件陕西整站关键词自然排名优化
  • 学校网站网站建设做引流推广的平台600
  • 天津做网站就到徽信xiala5谷歌广告代理