Концепции C++: Iterator
Материал из cppreference.com
Iterator
описывает типы, которые могут использоваться для идентификации и перемещения элементов контейнера.Оригинал:
The
Iterator
concept describes types that can be used to identify and traverse the elements of a container.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Iterator
- это базовая концепция, которая используются другими типами итераторов: InputIterator
, OutputIterator
, ForwardIterator
, BidirectionalIterator
, и RandomAccessIterator
. Итераторы можно рассматривать как абстракцию указателей.Оригинал:
Iterator
is the base concept used by other iterator types: InputIterator
, OutputIterator
, ForwardIterator
, BidirectionalIterator
, and RandomAccessIterator
. Iterators can be thought of as an abstraction of pointers.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править]Требования
Тип It
удовлетворяет требованиям Iterator
если
- Тип
It
удовлетворяетCopyConstructible
, и - Тип
It
удовлетворяетCopyAssignable
, и - Тип
It
удовлетворяетDestructible
, и - lvalue типа
It
удовлетворяетSwappable
, и - std::iterator_traits<It> содержит typedef-члены
value_type
,difference_type
,reference
,pointer
,iterator_category
, и
определяет
i
, как lvalue типаIt
.
В дополнение к перечисленным требованиям, для объектов
i
типа It
, представляющего собой Iterator, должны быть выполнены следующие условия:Оригинал:
For type
It
to be an Iterator, in addition to the other requirements, the following conditions have to be satisfied for an object i
of such type:Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Выражение | Возвращаемый типе | Предусловие |
---|---|---|
*i | reference[1] | i может разыменовываться [2] |
++i | It& | i может инкрементироваться (поведение выражения ++i определено) |
[править]См. также
[править]Сноски
- ↑Как определено в iterator_traits
- ↑Корректный итератор, указывающий на существующий элемент
Оригинал:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.