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

效果好的魔站建站系统长沙马拉松调整为线上赛

效果好的魔站建站系统,长沙马拉松调整为线上赛,粉色大气妇科医院网站源码,配音秀做素材网站目录 二#xff0c;全部代码 三#xff0c;设计思路 1. 讨论 2. 关于迭代器文档一个小细节 结语 一#xff0c;前言 如果有小伙伴还未学习普通迭代器#xff0c;请参考这篇文章中的普通迭代器实现。 【STL】list用法试做_底层实现_花果山~~程序猿的博客-CSDN…目录 二全部代码 三设计思路  1. 讨论 2. 关于迭代器文档一个小细节  结语 一前言 如果有小伙伴还未学习普通迭代器请参考这篇文章中的普通迭代器实现。 【STL】list用法试做_底层实现_花果山~~程序猿的博客-CSDN博客 参考list源码这里直接说结果发现源码通过借用普通迭代器来构造反向迭代器。 二全部代码 namespace my_list {template class Tstruct 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 Ptrstruct list_iterator{typedef list_nodeT 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 Ptrstruct _reverse_iterator{typedef _reverse_iteratorIterator, 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 Tclass list{typedef list_nodeT Node;public:typedef list_iteratorT, T*, T iterator;typedef list_iteratorT, const T*, const T const_iterator;typedef _reverse_iteratoriterator, T*, T reverse_iterator;typedef _reverse_iteratorconst_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等 第三中迭代器继承12种 那意义又是什么 意义就是提示在使用迭代器时接口会提示你合适的的迭代器类型。 结语 本小节就到这里了感谢小伙伴的浏览如果有什么建议欢迎在评论区评论如果给小伙伴带来一些收获请留下你的小赞你的点赞和关注将会成为博主创作的动力。
http://www.dnsts.com.cn/news/258905.html

相关文章:

  • 网站的关键词可以取消吗怎么给公司注册网站
  • 网站建设是什么拓者设计官网网页版
  • 免费建网站域名南昌seo快速排名
  • 怎么做相册网站wordpress 手机管理员密码
  • 邯郸建设网站公司wordpress 重置密码
  • 做动物网站的原因是网页版梦幻西游礼包码
  • 站长友情链接平台惠州网站建设 鑫
  • 无棣住房建设局网站html网站发布
  • 云主机如何做两个网站建设工程施工合同司法解释2022
  • 网络营销外包推广渠道郑州网站优化多少钱
  • 网站备案地区名加工平台网站
  • 安阳网站建设优化电脑上自己做科目一的网站
  • 万寿路网站建设微网站有什么用
  • 吉林网站制作国内四大门户网站
  • 贺州网站建实名认证
  • 建站魔方极速网站建设如何制作一网站
  • 企业网站推广的方法有哪些php网站开发app接口
  • 看车二手车网站源码推荐一个好点的网站
  • 房地产网站建设公司网络营销推广微信hyhyk1效果好
  • 德州定制网站建设公司北京网站建设厂家
  • 做网站编程有钱途么最专业的网站建设收费
  • 健康网站 模板wordpress给页面html后缀
  • 建设部网站安全考核证书查询做网站开发人员架构
  • 站长工具无忧公司网站开发部署
  • 商城网站程序软件开发分工5个角色
  • 成都青羊区网站建设网站开发需要用到哪些软件
  • 温州做网站厉害的公司有哪些wordpress 去掉头部
  • 地产网站建设互动营销nginx代理wordpress
  • 手机浏览器 网站开发房地产销售工作总结
  • 上海企业网站开发昆山网站建设jofuns