W C ++ zestaw tak wpisany do tego, jest litralem lub literacją tablicy. Jest to również lista inicjalizator. W C ++ iterator jest klasą. Chociaż jest to klasa, jego obiekt zachowuje się jak wskaźnik. Gdy jest zwiększony, wskazuje na następny element. Po zmniejszeniu wskazuje na poprzedni element. Podobnie jak wskaźnik może być dereferencyjny przez operatora pośredniego, iterator może być również dereferencyjny w ten sam sposób. Istnieją różne rodzaje iteratorów dla zestawu w C++. W tym artykule wyjaśniono różne iteratory dla zestawu i jak z nich korzystać.
Program kodowania powyższego zestawu lub dowolnego zestawu powinien rozpocząć się od następujących:
#włączaćPierwsza linia zawiera bibliotekę iostream. Jest to potrzebne dla terminalu (konsoli). Druga linia zawiera bibliotekę zestawu. Jest to potrzebne do ustawiania programowania. Trzeci wiersz zawiera bibliotekę ciągów. Aby użyć ciągów, należy uwzględnić klasę ciągów; W przeciwnym razie to wskaźniki do sznurków, które będą sortowane, a nie same literały alfabetyczne. Są to wszystkie subbibrary z głównej standardowej biblioteki w C++. STD w tytule tego artykułu oznacza standard. Czwarta linia nie jest dyrektywą. To jest stwierdzenie. Nalega, aby każda nazwa używana w programie, która nie jest poprzedzona przestrzenią nazw użytkowników, pochodzi ze standardowej przestrzeni nazw.
Klasa iteratora nie musi być uwzględniona. Jest już w klasie set.
Uwaga: Po wstawieniu wartości do zestawu są one sortowane wewnętrznie w kolejności rosnącej z ustawieniami domyślnymi.
Iterator
Ten obiekt klasy iteratora jest zwracany przez funkcje elementów początkowe () lub end (). Funkcja członka stear () zwraca iterator, który wskazuje na pierwszy element zestawu. END () Funkcja członka zwraca iterator, który wskazuje tuż po ostatnim elemencie zestawu.
Ten iterator działa z == lub != operator, ale nie działa z operatorami =. Chociaż ten iterator nie jest oficjalnie stały, wartość, której wskazuje, może nie zostać zmieniona. Poniższy kod pokazuje, jak używać tego iteratora:
#włączaćWyjście to:
banan, jeżyna, winogrona, namiętności, arbuz,
Aby zmienić (zmodyfikować) wartość zestawu, funkcja usuwania zestawu musi być użyta do usuwania elementu. Następnie można włożyć nową wartość. Po wstawieniu nastąpi sortowanie wewnętrzne, a wartość może nie pasować dokładnie tam, gdzie była stara wartość. Modyfikowanie lub zmiana wartości (lub elementu) zestawu jest dyskusja, od pewnego innego czasu - patrz później.
reverse_iterator
To jest przeciwieństwo powyższego iteratora. Ten obiekt klasy reverse_iterator jest zwracany przez funkcje członkowskie rbegin () lub rend (). Funkcja członka rbegin () zwraca iterator, który wskazuje ostatni element zestawu. Funkcja członka Rend () zwraca iterator, który wskazuje tuż przed pierwszym elementem zestawu.
Ten reverse_iterator działa z == lub != operator, ale nie działa z operatorami =. Chociaż ten iterator nie jest oficjalnie stały, wartość, której wskazuje, może nie zostać zmieniona. Poniższy kod pokazuje, jak używać tego iteratora:
ustawićWyjście to:
Arbuz, namiętność, winogrona, jeżyna, banan,const_iterator
Ten obiekt klasy Const_iterator jest zwracany przez funkcje członkowskie Cbegin () lub Cend (). Funkcja członka Rbegin () zwraca const_iterator, który wskazuje na pierwszy element zestawu. Funkcja członka Rend () zwraca const_iterator, który wskazuje tuż po ostatnim elemencie zestawu.
Ten const_iterator działa z == lub != operator, ale nie działa z operatorami =. Ten iterator jest oficjalnie stały, a wartość, której wskazuje, nie można zmienić. Poniższy kod pokazuje, jak używać tego iteratora:
ustawićWyjście to:
banan, jeżyna, winogrona, namiętności, arbuz,const_reverse_iterator
To jest przeciwieństwo powyższego iteratora. Ten obiekt klasy const_reverse_iterator jest zwracany przez funkcje członka crbegin () lub crend (). Funkcja członka crbegin () zwraca iterator, który wskazuje ostatni element zestawu. Crend () Funkcja członka zwraca iterator, który wskazuje tuż przed pierwszym elementem zestawu.
Ten const_reverse_iterator działa z == lub != operator, ale nie działa z operatorami =. Ten iterator jest oficjalnie stały, a wartość, której wskazuje, nie można zmienić. Poniższy kod pokazuje, jak używać tego iteratora:
ustawićWyjście jest
Arbuz, namiętność, winogrona, jeżyna, banan,const_iterator Cbegin () i Cend ()
Cbegin () zwraca bezwarunkowy stały iterator do pierwszego elementu zestawu. CEND () zwraca bezwarunkowy stały iterator, który jest tuż po ostatnim elemencie zestawu. Poniższy kod pokazuje, jak go używać:
ustawićWyjście to:
banan, jeżyna, winogrona, namiętności, arbuz,To jest przeciwieństwo powyższego. Poniższy kod pokazuje, jak go używać:
ustawićWyjście to:
Arbuz, namiętność, winogrona, jeżyna, banan,Wniosek
Wszystkie iteratory zwrócone przez funkcje członka obiektu Set działają z == lub != operator, ale nie pracuj z operatorami =. Wszystkie z nich można zwiększyć lub zmniejszyć. Wszystkie iteratory zwrócone przez funkcje elementów zestawu są bezpośrednio lub pośrednio stałe. Oznacza to, że wartości, których wskazują, nie można zmienić za pomocą iteratora.
Aby zmienić (zmodyfikować) wartość zestawu, funkcja usuwania zestawu musi być użyta do usuwania elementu. Następnie można włożyć nową wartość. Po wstawieniu nastąpi sortowanie wewnętrzne, a wartość może nie pasować dokładnie tam, gdzie była stara wartość. Modyfikowanie lub zmiana wartości (lub elementu) zestawu jest dyskusją na jakiś czas - patrz później.