【c++】STL容器-list和vector的反向迭代器的模拟实现
小编个人主页详情 typedef ReverseIterator} Iterator tmp(_it); return *(--tmp); } return &operator*(); } --_it; return *this; } self tmp(_it); --_it; return tmp; } ++_it; return *this; } self tmp(_it); ++_it; return tmp; } return _it != rit._it; } return _it == rit._it; } return end(); } reverse_iterator rend() { return begin(); } const_reverse_iterator rbegin() const { return end(); } const_reverse_iterator rend() const { return begin(); } list cout cout vector cout cout typedef ReverseIterator} Ref operator*() { Iterator tmp(_it); return *(--tmp); } Ptr operator-() { return &operator*(); } self& operator++() { --_it; return *this; } self& operator++(int) { self tmp(_it); --_it; return tmp; } self& operator--() { ++_it; return *this; } self& operator--(int) { self tmp(_it); ++_it; return tmp; } bool operator!=(const self& rit) { return _it != rit._it; } bool operator==(const self& rit) { return _it == rit._it; } }; return end(); } reverse_iterator rend() { return begin(); } reverse_iterator rbegin() const { return end(); } reverse_iterator rend() const { return begin(); }