Предыдущий пост -
Следующий пост -

std::iterator().

Рубрика: iterator, Дата: 22 July, 2013, Автор:
Tags: ,

Эта фигня похоже используется для создания своего собственного итератора.

#include <iostream>
using std::cout;
using std::endl;
#include <iterator>
using std::iterator;
using std::input_iterator_tag;

class myIter : public iterator<input_iterator_tag,int>
{
	int* p;
public:
	//konctryktor preobrazovani9
	myIter(int* p1):p(p1){}
	//konctryktor kopirovani9
	myIter(const myIter& m):p(m.p){}
	myIter operator++(){p++; return *this;}
	myIter operator++(int){myIter temp(*this);operator++();return temp;}
	bool operator==(const myIter& e){return e.p==p;}
	bool operator!=(const myIter& e){return e.p!=p;}
	int& operator*(){return *p;}
};

int main()
{
	int mass[]={1,2,3,4,5};
	myIter from(mass);
	myIter until(mass+5);

	//вывод результата
	for(myIter it=from;it!=until;it++)
		cout <<*it<<' ';
	cout <<endl;

	return 0;
}

[youtube]http://www.youtube.com/watch?v=5jWkyeAC-BU[/youtube]

rss