Standard Template Library - efektywe wykorzystanie biblioteki standardowej C++

 

Czas trwania:

3 dni po 8 godzin lekcyjnych


Opis szkolenia:

Szkolenie przeznaczone dla programistów chcących poznać optymalne wykorzystanie biblioteki STL. W trakcie szkolenia dokładnie omawiane są komponenty biblioteki STL, takie jak kontenery, iteratory oraz algorytmy.


Plan szkolenia:

Składniki biblioteki STL

Kontenery standardowe

  • Wymagania wobec elementów kontenerów
  • Semantyka wartości a semantyka referencji

Kontenery sekwencyjne

  • Wektory - vector
  • Kolejki o dwóch końcach - deque
  • Listy - list

Kontenery asocjacyjne

  • Zbiory - set i multiset
  • Mapy  - map i multimap

Adaptatory kontenerów

  • Stos - stack
  • Kolejka - queue
  • Kolejka priorytetowa - priority_queue

Iteratory

  • Przykłady użycia kontenerów asocjacyjnych
  • Kategorie iteratorów 
  • Funkcje pomocnicze iteratorów

Adaptatory iteratorów

  • Iteratory wstawiające
  • Iteratory strumieniowe
  • Iteratory odwrotne

Algorytmy standardowe

  • Zakresy
  • Obsługa wielu zakresów

Funkcje jako argumenty algorytmów

  • Przykłady użycia funkcji jako argumentów algorytmów
  • Predykaty

Obiekty funkcyjne

  • Czym są obiekty funkcyjne?
  • Predefiniowane obiekty funkcyjne
  • Adaptory funkcji, metod oraz obiektów funkcyjnych
  • Złożeniowe obiekty funkcyjne - jedno oraz dwuargumentowe

Algorytmy STL

  • Algorytm for_each()
  • Algorytmy niemodyfikujące - zliczanie, wartości minimalna i maksymalna, wyszukiwanie elementów
  • Algorytmy modyfikujące - kopiowanie, przekształcanie i zastępowanie elementów
  • Algorytmy usuwające
  • Algorytmy mutujące
  • Algorytmy sortujące
  • Algorytmy przeznaczone dla zakresów posortowanych
  • Algorytmy numeryczne

Kontenery numeryczne

  • Liczby zespolone - klasa complex<>
  • Klasa valarray
  • Globalne funkcje numeryczne

Obsługa błędów i wyjątków wewnątrz biblioteki STL

Rozbudowa biblioteki STL

  • Dziedziczenie po kontenerach standardowych
  • Tworzenie kontenerów niestandardowych