Biblioteka C ++ - <iterator>
Wprowadzenie
Jest to obiekt podobny do wskaźnika, który można zwiększać za pomocą ++, wyłuskiwać za pomocą * i porównywać z innym iteratorem za pomocą! =
Kategorie
Kategoria | nieruchomości | prawidłowe wyrażenia | |||
---|---|---|---|---|---|
Wszystkie kategorie | możliwe do skopiowania , przypisania do kopiowania i zniszczenia |
|
|||
Można ją zwiększyć |
|
||||
Losowy dostęp | Dwukierunkowy | Naprzód | Wejście | Obsługuje porównania równości / nierówności |
|
Można ją wyłuskać jako wartość r | *za a-> m |
||||
Wynik | Można ją wyłuskać jako lwartość (tylko dla mutowalnych typów iteratorów ) |
* a = t * a ++ = t |
|||
domyślna konstrukcja | X a; X () |
||||
Wieloprzebiegowe: ani dereferencja, ani inkrementacja nie wpływają na dereferencyjność | { b = a; *a++; *b; } |
||||
Można ją zmniejszyć | --za za-- *za-- |
||||
Obsługuje operatory arytmetyczne + i - | a + n n + a a - n a - b |
||||
Obsługuje porównania nierówności ( < , > , <= i > = ) między iteratorami | a <b a> b a <= b a> = b |
||||
Obsługuje operacje przypisania złożonych + = i - = | a + = n a - = n |
||||
Obsługuje operator wyłuskiwania przesunięcia ( [] ) | na] |
Funkcje
Sr.No. | Funkcje i opis |
---|---|
1 | postęp
Przesuwa iterator o n pozycji elementów. |
2 | dystans
Zwraca odległość między iteratorami. |
3 | zaczynać
Służy do rozpoczęcia iteratora. |
4 | koniec
Służy do zakończenia iteratora. |
5 | poprz
Służy do uzyskania iteratora do poprzedniego elementu. |
6 | Kolejny
Służy do przejścia iteratora do następnego elementu. |
Generatory iteracyjne
Sr.No. | Generatory iteratorów i opis |
---|---|
1 | back_inserter
Tworzy iterator wstawiania wstecznego. |
2 | inserter
Tworzy iterator wstawiania |
3 | make_move_iterator
Tworzy iteratory ruchu. |
Zajęcia
Sr.No. | Klasy i opis |
---|---|
1 | iterator
Iteruje klasę bazową. |
2 | iterator_traits
Jest to cecha iteratora. |
Predefiniowane iteratory
Sr.No. | Predefiniowane iteratory i opis |
---|---|
1 | reverse_iterator
Jest to iterator odwrotny. |
2 | move_iterator
Jest to iterator ruchu. |
3 | back_insert_iterator
Jest to iterator wstawiania wstecznego. |
4 | front_insert_iterator
Jest to iterator wkładki przedniej. |
5 | insert_iterator
Służy do wstawiania iteratora. |
6 | istream_iterator
Jest to iterator strumienia wejściowego. |
7 | ostream_iterator
Jest to iterator strumienia wyjściowego. |
8 | istreambuf_iterator
Jest to iterator bufora strumienia wejściowego. |
7 | ostreambuf_iterator
Jest to iterator bufora strumienia wyjściowego. |
Tagi kategorii
Sr.No. | Tagi kategorii i opis |
---|---|
1 | input_iterator_tag
Wprowadź kategorię iteratora. |
2 | output_iterator_tag
kategoria iteratora wyjścia. |
3 | forward_iterator_tag
Kategoria iteratora do przodu. |
4 | bidirectional_iterator_tag
Kategoria iteratora dwukierunkowego. |
5 | random_access_iterator_tag
Kategoria iteratora o dostępie swobodnym. |