I am implementing vector as Assignment project.
Completed till now
1.Allocatating memory in constructor
2.Added element using push_back() and also written resize() to set size of reserved memory
3.Forward Iterator
Now I am designing revesre_iterator
using below
Code:
class reverse_iterator
{
public:
reverse_iterator(T *p)
: pos(p) { }
reverse_iterator()
: pos(0) { }
T &operator*()
{ return *pos; }
T *operator->()
{ return pos; }
reverse_iterator operator++(int)
{ pos--; return *this; }
reverse_iterator operator--(int)
{ pos++; return *this; }
bool operator!=(const reverse_iterator &rhs)
{ return this->pos != rhs.pos; }
private:
T *pos;
};
Not able to understand what is written inside reverse_iterator class particularly
this line
Code:
T *operator->()
{ return pos; } .
I am new to STL but having knowledge of C++ and oops.