Zaawansowane programowanie w języku C++

Cele szkolenia

Uczestnicy szkolenia nauczą się:

  • implementować semantykę przenoszenia w klasach
  • zapobiegać wyciekom pamięci
  • używać inteligentnych wskaźników
  • pisać generyczny kod wykorzystując szablony funkcji i klas, klasy cech i wytycznych
  • używać variadic templates
  • tworzyć struktury danych na etapie kompilacji - funkcje i stałe constexpr

Plan szkolenia

Move semantics

  • l-value vs. r-value
  • Referencje do r-value - T&&
  • Implementacja semantyki przenoszenia (move semantics) w klasach
  • Uniwersalne referencje - reference collapsing
  • Perfect forwarding

Zapobieganie wyciekom zasobów - technika RAII

  • Gwarancje odporności kodu na wyjątki
  • Idiom RAII (Resource Aquisition Is Initialization)

Inteligentne wskaźniki

  • Inteligentne wskaźniki - wstęp
  • std::unique_ptr
  • std::shared_ptr
  • std::weak_ptr
  • Dealokatory użytkownika

Programowanie generyczne - szablony

  • Wprowadzenie do programowania generycznego
  • Szablony funkcji i klas
  • Parametry szablonów
  • Specjalizacja szablonów
  • Programowanie generyczne z wykorzystaniem klas cech i wytycznych
  • Cechowanie typów - biblioteka <type_traits>
  • Statyczne asercje - praktyczne wykorzystanie
  • Technika SFINAE - optymalizacja implementacji w zależności od typów danych

Variadic templates

  • Szablony o dowolnej liczbie parametrów - parameter pack
  • Variadic templates - praktyczne wykorzystanie
  • Metaprogramowanie z wykorzystaniem krotek - std::tuple (opcjonalnie)
  • Operacje na krotkach z wykorzystaniem sekwencji indeksów (opcjonalnie)

Wyrażenia stałe - constexpr

  • Wyrażenia stałe w C++11/14
  • Praktyczne wykorzystanie constexpr - tworzenie struktur danych na etapie kompilacji

Wymagania

Opanowane podstawy programowania w języku C++

Czas trwania

3 dni po 8 godzin lekcyjnych
Wycena szkolenia zamkniętego

Szkolenie zamknięte w siedzibie Klienta.

Klient zapewnia salę szkoleniową i sprzęt.

Zapytaj o termin i cenę
Wycena szkolenia zdalnego

Szkolenie live online. Warsztaty z trenerem.

Zapytaj o termin i cenę
Terminy szkoleń otwartych
Zdalne
28.2 - 1.32024
3490 PLN Zgłoś udział

Pasuje Ci inny termin?

Wyślij zapytanie