Поделиться через


reverse_iterator Class

Класс шаблона является адаптера итератор, который описывает объект реверсивный итератор, который ведет себя как произвольный доступ или двунаправленный итератор, только в обратном порядке.Он позволяет обратной обход диапазона.

template <class RandomIterator>
class reverse_iterator

Параметры

  • RandomIterator
    Тип, представляющий итератора быть приспособлены для работы в обратном порядке.

Заметки

Существующие контейнеры библиотеки стандартных шаблонов также определить reverse_iterator и const_reverse_iterator типы и функции-члены имеют rbegin и rend , возвращают обратного итераторов.Эти итераторы имеют перезаписать семантики.reverse_iterator Адаптера дополняет эту функцию как вставить семантику и может также использоваться с потоками.

reverse_iteratorS, требуют двунаправленный итератор не должна вызывать любой член функции operator+=, operator+, operator-=, operator-, или operator[], который может использоваться только с Итераторы произвольного доступа.

Если диапазон итератор [_First, _Last), где квадратная скобка слева указывает на включение _первый и скобки справа указывает на включение элементов до _слева , но за исключением _слева себя.Те же элементы включены в обратной последовательности [редакция – _First, редакция – _слева) таким образом, если _слева является одно раньше конца элемента в последовательности, выберите первый элемент редакция – _первый в обратной последовательности точек для * (_слева – 1).Это удостоверение, которая связана с их основной итераторы всех итераторов обратного:

&*(reverse_iterator ( i ) ) == &*( i – 1 ).

На практике это означает, что в обратной последовательности reverse_iterator будет ссылаться на элемент на одну позицию выше (справа) элемент, итератор ссылки в исходной последовательности.Таким образом, если итератор направлено 6 элементов в последовательности (2, 4, 6, 8), а затем reverse_iterator будет адрес четвертый элемент в обратной последовательности (8, 6, 4, 2).

6x256702.collapse_all(ru-ru,VS.110).gifКонструкторы

reverse_iterator

Создает по умолчанию reverse_iterator или reverse_iterator из базового итератора.

6x256702.collapse_all(ru-ru,VS.110).gifОпределения типов

difference_type

Тип, который содержит разницу между двумя reverse_iterators, ссылающийся на элементы в одном контейнере.

iterator_type

Тип, который содержит базовый итератор для reverse_iterator.

указатели

Тип, который содержит указатель на элемент, по reverse_iterator.

Ссылка

Тип, который содержит ссылку на элемент по reverse_iterator.

6x256702.collapse_all(ru-ru,VS.110).gifФункции-члены

base

Восстанавливает базовый итератор из его reverse_iterator.

6x256702.collapse_all(ru-ru,VS.110).gifОператоры

operator*

Возвращает элемент, reverse_iterator адресов.

оператор +

Добавляет смещение итератора и возвращает новый reverse_iterator адресации вставленный элемент в новую позицию смещения.

operator++

С шагом reverse_iterator к следующему элементу.

оператор +=

Добавляет указанное смещение от reverse_iterator.

оператор-

Вычитает смещение от reverse_iterator и возвращает reverse_iterator адресации элемент смещения позиции.

оператор--

Уменьшает reverse_iterator на предыдущий элемент.

оператор-=

Вычитает указанное смещение от reverse_iterator.

operator->

Возвращает указатель на элемент, по reverse_iterator.

operator[]

Возвращает ссылку на элемент смещения от элемента, по reverse_iterator на заданное число позиций.

Требования

Заголовок: <iterator>

Пространство имен: std

См. также

Ссылки

Потокобезопасность в стандартной библиотеке C++

Стандартная библиотека шаблонов

Другие ресурсы

члены reverse_iterator

члены<iterator>