Концепции 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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.