欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > C++ 反向迭代器

C++ 反向迭代器

2025/2/5 7:16:51 来源:https://blog.csdn.net/Starry_tsx/article/details/145441656  浏览:    关键词:C++ 反向迭代器

反向迭代器不难 但是有些地方还是需要注意一下

1.迭代器的rebegin()是在最后一个元素的末尾(和正向迭代器保持一致)

2.因此反向迭代器的解引用是解引用当前位置前一个位置的元素

3.反向迭代器的++相当于正向迭代器的--  反向迭代器的--相当于正向迭代器的++

4.这个反向迭代器是适用于不同容器的

#pragma once
namespace bit
{template<class Iterator, class Ref, class Ptr>struct ReverseIterator{typedef ReverseIterator<Iterator, Ref, Ptr> Self;Iterator _it;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) const{return _it != s._it;}};
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com