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 lekcyjnychWycena szkolenia zamkniętego
Szkolenie zamknięte w siedzibie Klienta.
Klient zapewnia salę szkoleniową i sprzęt.
Zapytaj o termin i cenęTerminy szkoleń otwartych
zdalne 25-27.11.2024 |
3490 PLN | Zgłoś udział |
Pasuje Ci inny termin?
Wyślij zapytanie