STL. Leksykon kieszonkowy

Podobne dokumenty
Smarty PHP. Leksykon kieszonkowy

C++. Æwiczenia zaawansowane

STL Standardt Template Library (wprowadzenie)

Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.)

Tablice (jedno i wielowymiarowe), łańcuchy znaków

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Wykład 8: klasy cz. 4

Wykład 3 Składnia języka C# (cz. 2)

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Lab 9 Podstawy Programowania

Podstawy programowania skrót z wykładów:

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Szablony klas, zastosowanie szablonów w programach

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Algorytmy i Struktury Danych. Anna Paszyńska

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Języki i techniki programowania Ćwiczenia 2

Język C zajęcia nr 11. Funkcje

Struktury Danych i Złożoność Obliczeniowa

Wykład 4: Klasy i Metody

asix5 Podręcznik użytkownika CZAZ - drajwer do komunikacji z urządzeniami CZAZ-U oraz CZAZ-UM

Dziedziczenie jednobazowe, poliformizm

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Programowanie Komponentowe Zarządzanie obiektami: kontenery

Programowanie obiektowe - 1.

Automatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) { zdefiniuje. Integer::operator=(ri);

VB. NET. Leksykon kieszonkowy

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

Logiczny model komputera i działanie procesora. Część 1.

IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG

AutoCAD Pierwsze kroki

Wskaźniki. Informatyka

Automatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) {

Wykład 5: Klasy cz. 3

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

Automatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) {

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

asix5 Podręcznik użytkownika Strategia buforowa

MySQL. Leksykon kieszonkowy

MySQL. Æwiczenia praktyczne

KURS C/C++ WYKŁAD 6. Wskaźniki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Programowanie obiektowe Wykład 3. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21

PARADYGMATY PROGRAMOWANIA Wykład 4

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Pomoc dla użytkowników systemu asix 6. Strategia buforowa

Kurs WWW. Paweł Rajba.

public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje

Programowanie obiektowe i C++ dla matematyków

Programowanie i struktury danych

Rozdział 4 KLASY, OBIEKTY, METODY

C++. Leksykon kieszonkowy

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

1. Operacje logiczne A B A OR B

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

Formaty obrazów rastrowych biblioteki PBM

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Opus Magnum C++11 : programowanie w języku C++. T. 2 / Jerzy Grębosz. Gliwice, cop Spis treści

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Architektura komputerów

STL: Lekcja 1&2. Filozofia STL

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy KONSTRUKTORY

Programowanie obiektowe. Materiały przygotował: mgr inż. Wojciech Frohmberg

MS Project Æwiczenia praktyczne

Haszowanie (adresowanie rozpraszające, mieszające)

dr inż. Jarosław Forenc

Język C++ zajęcia nr 2

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.

Jak Windows zarządza pamięcią?

Java. Æwiczenia praktyczne

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Zaliczenie przedmiotu:

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Programowanie w języku C++

Windows 2000/NT Native API. Leksykon

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Programowanie w C++ Wykład 6. Katarzyna Grzelak. 1 kwietnia K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Języki programowania obiektowego Nieobiektowe elementy języka C++

Zmienne, stałe i operatory

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Oprogramowanie w eksperymentach fizyki. Wykład 4, Paweł Staszel

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Podstawy Programowania Obiektowego

Programowanie w C++ Wykład 7. Katarzyna Grzelak. 23 kwietnia K.Grzelak (Wykład 7) Programowanie w C++ 1 / 40

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Transkrypt:

IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWO CIACH ZAMÓW CENNIK CZYTELNIA SPIS TRE CI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE STL. Leksykon kieszonkowy Autor: Ray Lischner T³umaczenie: Wojciech Moch ISBN: 83-7361-438-9 Tytu³ orygina³u: STL Pocket Reference Format: B5, stron: 132 Czy do wyszukania warto ci w danym zakresie nale y u yæ funkcji search() czy find()? Jakie argumenty ma funkcja list::splice? Kiedy wywo³ywaæ mem_fun, a kiedy mem_fun_ref? Zapewne jak wielu innych programistów masz k³opot z zapamiêtaniem tych wszystkich szczegó³ów, nawet je li codziennie u ywasz biblioteki STL. Ksi¹ ka Raya Lischnera STL. Leksykon kieszonkowy bêdzie dla Ciebie nieocenion¹ pomoc¹ -- w prosty sposób odpowiada na wszystkie takie pytania. W tej ksi¹ ce znajduj¹ siê opisy interfejsów kontenerów, iteratorów, algorytmów i obiektów funkcyjnych zawartych w bibliotece STL. Mo na w niej znale æ szczegó³y dotycz¹ce wywo³añ funkcji, typów zwracanych przez te funkcje, parametrów szablonów i wiele wiêcej. W po³¹czeniu z ksi¹ k¹ C++. Leksykon kieszonkowy, ksi¹ ka ta pozwala na spore oszczêdno ci czasu. Na pewno przyda siê w czasie pisania programów. STL to skondensowana wiedza i do wiadczenie, a ta ksi¹ ka to skondensowana biblioteka STL. Nie, nie po yczê swojego egzemplarza kup sobie w³asny! Andrew Duncan, Senior Software Engeneer, Expertcity Inc. Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl

Spis treści Wprowadzenie...5 Kontenery...8 Kontenery standardowe...a...9 Adaptory kontenerów...a...11 Wartości...a...11 Typowe składowe...a...12 Wyjątki...a...a.22 Kolejki...a...a..23 Listy...a...a...24 Mapy...a...a...28 Kolejki priorytetowe...a...29 Kolejki...a...a..31 Zbiory...a...a...32 Stosy...a...a...34 Ciągi znaków...a...35 Wektory...a...47 Iteratory...49 Kategorie iteratorów...a...50 Stosowanie iteratorów...a...51 Cechy iteratorów...a...54 Iteratory do stałej...a...55 Iteratory wstawiające...a...57 Iteratory strumieni wejścia-wyjścia...a...58 Iterator typu raw storage...a...65 Iteratory wsteczne...a...65 Szablony funkcji iteratorów...a...70 Algorytmy...70 Operacje niemodyfikujące...a...73 Porównania...a...73 Wyszukiwanie...a...76 Spis treści 3

Wyszukiwanie binarne...a...77 Operacje modyfikujące sekwencje...a...79 Operacje na niezainicjowanych sekwencjach...85 Sortowanie...a...86 Łączenie...a...88 Operacje na zbiorach...a...89 Operacje na stercie...a...91 Permutacje...a...93 Różne...a...a...93 Numeryczne...a...94 Funktory...95 Stosowanie funktorów...a...96 Podstawy funktorów...a...98 Adaptory...a...99 Funktory wiążące...a...102 Funktory arytmetyczne i logiczne...a...103 Funktory porównujące...a...105 Różne...106 Alokatory...a...106 Pola bitowe (bitset)...a...109 Pary...a...a...113 Sprytne wskaźniki...a...114 Boost...117 Tablice...a...a118 Dynamiczne pola bitowe...a...118 Funktory wiążące...a...119 Składanie funkcji...a...120 Adaptory...a...122 Zmiana pliku nagłówkowego Functional...122 Funkcje lambda...a...123 Sprytne wskaźniki...a...124 Skorowidz...125 4 STL. Leksykon kieszonkowy

Różne W tym rozdziale opisane zostaną szablony klas, i, których nie można przyporządkować do innych kategiorii. Alokatory Alokator jest rozwinięciem wyrażeń i. Standardowe kontenery stosują alokatory do alokowania i zwalniania pamięci a także do konstruowania i niszczenia obiektów zapisanych w kontenerze. Biblioteka standardowa definiuje szablon klasy, który jest domyślnym alokatorem wszystkich standardowych kontenerów. Możliwe jest zastosowanie innego alokatora pod warunkiem, że udostępnia on ten sam interfejs co alokator standardowy. Implementowanie nowego alokatora jest trudniejsze niż można by z początku sądzić i wykracza poza ramy tej książki. W tym podrozdziale zostaną opisane tylko sposoby zastosowania standardowego szablonu klasy. Poniżej opisane zostały typy składowe szablonu : Typ wskaźnika na stały element. Typ stałej l-wartości. 106

Typ reprezentujący różnicę między dowolnymi dwoma wskaźnikami zwróconymi przez alokator po wywołaniu funkcji. Typ wskaźnika. Wiąże obiekt alokatora z innym typem wartości. Klasa posiada jedną deklarację będącą instancją szablonu z typem, podanym w parametrze szablonu. Standardowe kontenery alokujące obiekty pomocnicze, takie jak węzły łączące, zamiast bezpośredniego alokowania wartości wykorzystują szablon. Osoby, które nie muszą implementować standardowych kontenerów, najprawdopodobniej nie będą też musiały znać sposobu działania tego szablonu. Typ l-wartości. Typ, który może reprezentować rozmiar największego żądania alokacji. Typ alokowanych wartości. Poniżej opisane zostały metody szablonu : Tworzy nowy obiekt alokatora kopiując, jeżeli to możliwe, istniejący alokator. Zwraca adres elementu, czyli wartość. Różne 107

W celu zaalokowania pamięci wystarczającej do przechowania elementów typu, wywołuje globalny operator. Argument musi mieć wartość 0 lub wartość wskaźnika uzyskanego z innego wywołania funkcji, którego nie przekazano jeszcze do funkcji. Zwracany jest wskaźnik na zaalokowaną właśnie pamięć. Jeżeli nie można zaalokować wystarczającej ilości pamięci, zgłaszany jest wyjątek. Za pomocą globalnego operatora tworzy kopię wartości i umieszcza ją pod adresem. Zwalnia pamięć wskazywaną przez poprzez wywołanie globalnego operatora. Argument przechowuje liczbę elementów typu ta sama wartość przekazana była do funkcji. Wywołuje destruktor obiektu umieszczonego pod adresem. Oznacza to, że wykonywane jest wywołanie. Zwraca maksymalny rozmiar, który można przekazać funkcji. Standard definiuje specjalizowany szablon, który nie deklaruje funkcji, itd., ponieważ nie jest możliwe utworzenie obiektu typu. Możliwe jest jednak stosowanie jego składowych, i. Operatory równości ( i ) są przeciążane w ten sposób, że wszystkie obiekty typu są sobie równe niezależnie od typu alokowanych wartości. 108 STL. Leksykon kieszonkowy

Pola bitowe (bitset) Obiekty typu są spakowanymi sekwencjami bitów o stałej wielkości. Nie są to standardowe kontenery, nie udostępniają też iteratorów. Szablon klasy (zadeklarowany jest w pliku nagłówkowym ) pobiera pojedynczy parametr określający liczbę przechowywanych bitów. Pojedynczy bit może zostać ustawiony na wartość jedynki (funkcja ) lub zera (funkcja ). Możliwa jest też zmiana wartości bitu z jedynki na zero i z zera na jedynkę, umożliwia to funkcja. Poniżej zostały opisane metody szablonu : Tworzy obiekt typu z wszystkimi bitami wyzerowanymi. Tworzy obiekt typu inicjalizując pierwszych bitów wartością, gdzie. Jeżeli, to wszystkie pozostałe bity są ustawiane na wartość zero. Jeżeli, to nadmiarowe bity są ignorowane. Tworzy obiekt typu i inicjalizuje go znakami z ciągu znaków, rozpoczynając od znaku i wykorzystując następnych znaków (albo znaki do końca ciągu, jeżeli jest on kriótszy od ). Domyślnie wykorzystywany jest cały ciąg znaków. Znak o wartości powoduje wyzerowanie bitu a znak o wartości powoduje ustawienie bitu na jedynkę. Znaki o innej wartości powodują zgłoszenie wyjątku. Różne 109

Znak znajdujący się najbardziej po prawej stronie podciągu (czyli znak albo ostatni znak ciągu ) inicjalizuje najmniej znaczący bit pola, czyli bit o indeksie 0. Kolejne bity pola inicjowane są znakami z poprzednich indeksów ciągu. Bity niezainicjowane przez ciąg znaków są zerowane. Wszystkie pola bitowe z poniższych przykładów otrzymują wartość : Tak długa deklaracja szablonu wynika z zastosowania szablonu klasy. W typowych zastosowaniach wykorzystujących tylko klasę, można tą deklarację odczytywać następująco: Zwraca wartość, jeżeli którykolwiek bit jest ustawiony na wartość jeden a wartość zera, gdy wszystkie bity są izerami. Zwraca liczbę bitów o wartości jeden. Odwraca wartość wszystkich bitów. Zwraca wartość. Odwraca wartość bitu na pozycji. Jeżeli wartość jest nieprawidłowa, zgłaszany jest wyjątek. Zwraca wartość. Zwraca wartość, gdy wszystkie bity zerami, a wartość, jeżeli którykolwiek bit jest ustawiony na wartość ijeden. 110 STL. Leksykon kieszonkowy

Zwraca obiekt będący referencją na bit na pozycji. Jeżeli wartość jest z poza zakresu, zachowanie funkcji jest niezdefiniowane. Klasa przechowuje referencję na obiekt i pozycję. Przeciąża ona operator przypisania ( ) w ten sposób, że przypisania do obiektu typu zmieniają wartość pola bitowego. Klasa definiuje też metodę, odwracającą wartość bitu, którego dotyczy referencjia. Zwraca wartość bitu na pozycji. Jeżeli wartość jest spoza zakresu, zachowanie funkcji jest niezdefiniowanei. Zeruje wszystkie bity. Zwraca wartość. Zeruje bit na pozycji. Jeżeli wartość jest nieprawidłowa zgłaszany jest wyjątek. Zwraca wartość. Ustawia wszystkie bity. Zwraca wartość. Jeżeli wartość jest różna od zera, ustawia bit na pozycji. Jeżeli wartość jest nieprawidłowa, zgłaszany jest wyjątek. Zwraca wartość. Zwraca wartość. Zwraca wartość bitu na pozycji. Jeżeli wartość jest nieprawidłowa, zgłaszany jest wyjątek. Różne 111

Zwraca ciąg znaków reprezentujący zawartość obiektu. Każdy wyzerowany bit jest zamieniany na znak, a bity ustawione na jedynkę zamieniane są na znak. Bit z pozycji 0 jest zapisywany w ciągu na pierwszej pozycji od prawej strony (pozycji ). W czasie wywoływania funkcji kompilator nie jest w stanie wykryć parametrów szablonu, dlatego trzeba je podać jawnie: Przetwarza zawartość obiektu na wartość całkowitą. Jeżeli jest zbyt duże, żeby można było ją zapisać jako, zgłaszany jest wyjątek. Dla obiektów definiowane są również operatory bitowe, przesunięcia i równości stosujące zwyczajową semantykę. Operandy operatorów bitowych muszą być tej samej wielkości. Operatory przesunięć uzupełniają brakujące bity zerami. Przeciążane są też operatory wejścia-wyjścia. Operator wyjścia ( ) zapisuje zawartość obiektu do ciągu znaków w ten sam sposób jak robi to funkcja. Operator wejścia ( ) odczytuje z ciągu znaków zawartość obiektu, tak samo jak robi to konstruktor obiektu. 112 STL. Leksykon kieszonkowy

Pary Szablon klasy reprezentuje parę związanych ze sobą obiektów. Pary są najczęściej stosowane w szablonach klas i, które przechowują w nich klucze i związane z nimi obiekty. Szablon i związane z nim szablony funkcji są zadeklarowane pliku nagłówkowym. Deklaracji szablonu prawie nie trzeba objaśniać: Konstruktory obiektów nie są zbyt skomplikowane: Inicjalizuje element wartością a element wartością. Inicjalizuje element wartością a element wartością. Inicjalizuje element wartością a element wartością. Jeżeli to konieczne, są wykonywane odpowiednie konwersje. Różne 113

Niektóre szablony funkcji ułatwiają pracę z parami: Tworzy obiekt i inicjalizuje go wartościami i. Zastosowanie funkcji zamiast konstruktora szablonu pozwala kompilatorowi rozpoznać typy i wartości i. Zwraca wartość, gdy pary i są sobie równe, czyli gdy i. Zwraca wartość, gdy para jest mniejsza od pary, przy założeniu, że element jest bardziej znaczący niż element. To znaczy, że zwracany jest wynik wyrażenia. Pozostałe operatory porównań definiowane są na podstawie operatorów i. Sprytne wskaźniki Szablon klasy (zadeklarowanej w pliku nagłówkowym ) implementuje sprytne wskaźniki będące właścicielami wskaźników. Właściwe stosowanie klasy daje pewność, że dany wskaźnik posiada tylko jednego właściciela (co pozwala na uniknięcie podwójnych usunięć wskaźnika), który automatycznie zwalnia pamięć, gdy właściciel wyjdzie poza dopuszczalny zakres (dzięki czemu unika się wycieków pamięci). Przypisanie wartości typu zmienia właściciela wskaźnika z obiektu źródłowego na obiekt docelowy operacji przypisania. 114 STL. Leksykon kieszonkowy

Uwaga Szablon nie ma semantyki wartości, ponieważ przypisanie lub kopiowanie obiektu typu powoduje modyfikacje obiektu źródłowego (zrzeczenie się własności), dlatego obiekty typu nie mogą być przechowywane w kontenerach. Poniżej znajdują się opisy składowych szablonu : Synonim typu bazowego. Inicjalizuje obiekt, tak żeby był on właścicielem wskaźnika. Inicjalizuje obiekt wskaźnikiem zwróconym przez. W drugiej wersji konstruktora typ musi być pośrednio konwertowalny na. Należy zauważyć, że nie jest oznaczony jako. Nie jest możliwe kopiowanie obiektu typu, ponieważ doprowadziłoby to naruszenia zasad własności. Inicjalizuje obiekt wskaźnikiem uzyskanym z wywołania funkcji z obiektu. Usuwa wskaźnik posiadany przez obiekt np. przez wywołanie. Zwraca posiadany wskaźnik. Zwraca wynik działania funkcji a posiadany wskaźnik ustawia na 0. Różne 115

Usuwa posiadany wskaźnik (jeżeli nie jest on równy ) i zapisuje jako nowo posiadany wskaźnik. Zwraca tymczasowy obiekt typu posiadający wskaźnik. Wskaźnik musi być konwertowalny na typ. Własność jest przenoszona na nowy obiekt. Typ jest typem definiowanym w implementacji, ułatwiającym stosowanie obiektów jako typów zwracanych przez funkcję. W większości przypadków, można ignorować typ i deklarować parametry funkcji i wartości przez nie zwracane z wykorzystaniem typu, pozwalając kompilatorowi wykonać odpowiednie konwersje. Zwraca nowy obiekt typu. Posiadany wskaźnik jest konwertowany na typ a nowy obiekt przejmuje go na własność. Własność wskaźnika przenoszona jest na obiekt z obiektu albo z obiektu przechowywanego przez parametr. To znaczy, że wykonywane jest wywołanie. Zwraca wynik wywołania. Jeżeli przechowywany jest wskaźnik, zachowanie operatora jest niezdefiniowane. Zwraca wynik wywołania. W rozdziale Boost opisano inne sprytne wskaźniki, w tym również takie, które mogą wskazywać tablice i być przechowywane w kontenerach. 116 STL. Leksykon kieszonkowy