distance(InputIterator fi rst, InputIterator last); Бұл екі итератордың арасындағы айырманы көрсететін
difference_type типті мəн қайтарады. Бұл функция кездейсоқ қол жеткізу итераторларынан
басқа барлық итераторлар үшін
++ операциясының көмегімен контейнер
элементтерінің арасындағы қашықтыққа пропорционал уақыт ішінде орында-
лады, яғни ол айтарлықтай ресурс көлемін жұмсайды.
advance функциясы да
осыған ұқсас жұмыс түрін атқарады, ол
i += n операциясын жүзеге асыру
үшін қолданылады:
void advance(InputIterator& i, Distance n); Мұндағы
n шамасы тек екібағытты жəне кездейсоқ қол жеткізу итератор-
лары үшін теріс мəнді болуы мүмкін.
К ері итераторлар Екібағытты жəне кездейсоқ қол жеткізу итераторлары үшін олардың
итераторлардың адаптерлері деп аталатын түрлері анықталған. Тізбекті кері
бағытта қарап шығатын адаптер
reverse_iterator деп аталады:
template class reverse_iterator : public iterator iterator_traits::iterator_category, typename iterator_traits::value_type, typename iterator_traits::difference_type, typename iterator_traits::pointer,
360 typename iterator_traits::reference>{ protected: It current; public: typedef It iterator_type; reverse_iterator(); explicit reverse_iterator(It x); template reverse_iterator(const reverse_iterator& u); It base() const; reference operator*() const;