反向迭代器 模拟

反向迭代器 模拟

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;
	};
}
相关推荐
桦04 小时前
【C++复习】:继承
开发语言·c++
鱼难终4 小时前
类和对象(下)
c++
云泽8085 小时前
深入 AVL 树:原理剖析、旋转算法与性能评估
数据结构·c++·算法
邪神与厨二病5 小时前
Problem L. ZZUPC
c++·数学·算法·前缀和
elseif1237 小时前
出题团招人【ETOI_】
c++
第二只羽毛7 小时前
C++ 高并发内存池1
大数据·开发语言·c++·开源
不想看见4047 小时前
C++/Qt 实习岗位深度解析【结合一次研发实习谈感受】
开发语言·c++·qt
王老师青少年编程8 小时前
信奥赛C++提高组csp-s之组合数学专题课:鸽巢原理详解及案例实践
c++·组合数学·信奥赛·抽屉原理·csp-s·提高组·鸽巢原理
njidf8 小时前
C++与Qt图形开发
开发语言·c++·算法
qwehjk20088 小时前
代码动态生成技术
开发语言·c++·算法