反向迭代器 模拟

反向迭代器 模拟

cpp 复制代码
namespace sjy
{
	template <typename Iterator, typename Ref, typename Ptr>
	struct Reverse_iterator  
	{
		typedef Reverse_iterator<Iterator, Ref, Ptr> self;
		Reverse_iterator(Iterator it)
			:_it(it)
		{}
		
		bool operator!=(const self& other) const
		{
			return _it != other._it;
		}
		
		bool operator==(const self& other) const
		{
			return _it == other._it;
		}
		
		self& operator++()
		{
			--_it;
			return *this;
		}
		
		self& operator--()
		{
			++_it;
			return *this;
		}
		
		Ref operator*()
		{
			Iterator tmp(_it);
			return *(--tmp);
		}
		
		Ptr operator->()
		{
			return &(operator*());
		}
		
		/*成员变量*/
		Iterator _it;
	};
}
相关推荐
小羊在奋斗5 分钟前
【C++】探秘二叉搜索树
c++·人工智能·神经网络·机器学习
白葵新25 分钟前
PCL addLine可视化K近邻
c++·人工智能·算法·计算机视觉·3d
MustardJim1 小时前
Visual Studio 引入外部静态库与动态库
c++·visual studio
挽月0011 小时前
C++单例模式
开发语言·c++·单例模式
机器视觉知识推荐、就业指导1 小时前
Qt/C++ TCP调试助手V1.1 新增图像传输与接收功能(附发布版下载链接)
c++·qt·tcp/ip
wx200411021 小时前
Codeforces Round 973 (Div. 2) - D题
数据结构·c++·算法
DieSnowK2 小时前
[项目][WebServer][CGI机制 && 设计]详细讲解
linux·开发语言·c++·http·项目·webserver·cgi机制
归寻太乙3 小时前
C++函数重载完成日期类相关计算
开发语言·c++
尽蝶叙3 小时前
C++:分苹果【排列组合】
开发语言·c++·算法
憧憬成为原神糕手3 小时前
c++_list
开发语言·c++