Programowanie generyczne w C++ - szablony

Zakres szkolenia

W trakcie kursu uczestnicy poznają techniki programowania generycznego w C++. W trakcie szkolenia szczególny nacisk położony jest na praktyczne wykorzystanie szablonów do pisania kodu, który jest szybki, bezpieczny i łatwy do ponownego wykorzystania.


Plan szkolenia

Szablony

  • Szablony funkcji
  • Szablony klas
  • Parametry szablonów
  • Dedukcja argumentów szablonu
  • Specjalizacja i przeciążanie szablonów
  • Model kompilacji szablonów
  • Aliasy szablonów
  • Variable templates
  • Lambdy generyczne w C++14

Variadic templates

  • Funkcje wariadyczne - variadic template functions
  • Klasy wariadyczne - variadic template classes
  • Idiom Head-Tail
  • Typy wariadyczne w bibliotece standardowej
    • std::tuple
    • std::variant
  • Wrażenia fold - fold expressions

Techniki programowania generycznego

  • Szablony i perfect forwarding
  • Metafunkcje i cechy typów - type traits
  • Tag dispatching
  • Reguła SFINAE & enable_if<T>
  • Klasy cech i wytycznych
    • Policy based design
  • Idiom CRTP
  • Sekwencje indeksów
  • Type erasure - concept based polymorphism

Szablony w C++20

  • Koncepty
  • Lambdy generyczne w C++20

3 dni po 8 godzin lekcyjnych