Szkolenie: Metaprogramowanie w języku C++
Uczestnicy szkolenia zapoznają się z mechanizmami wykonywania kodu w czasie kompilacji w języku C++
Czas trwania szkolenia:3 dni (24h)
Kod kursu:CPP/META
Metaprogramowanie w języku C++
Cele szkolenia
Zapoznanie się ze sposobem działania mechanizmu szablonów w C++
Wykorzystanie mechanizmu szablonów do przerzucenia części obliczeń z czasu wykonania do czasu kompilacji
Poznanie innych technik programowania czasu kompilacji
Nauka ograniczania możliwości wywołania funkcji, metafunkcji i szablonów klas do typów spełniających określone wymagania
Dla kogo?
Zaawansowanych programistów programujących w języku C++
Osób praktycznie stosujących system szablonów we własnych projektach
Zalety
Szkolenie dostosowane do zespołów posługujących się różnymi standardami C++ - od C++98 do C++20
Przykłady bazują na elementach biblioteki standardowej C++
Demonstrujemy ogólnodostępne rozwiązania, które uzupełniają braki w starszych standardach C++
Warsztaty i przykłady pokazują praktyczne rozwiązania, które można zastosować wprost lub zaadaptować do swoich potrzeb
Kładziemy duży nacisk na interakcję pomiędzy uczestnikami a trenerem, który na żywo tworzy dodatkowe przykłady w odpowiedzi na pytania uczestników
Wymagania
Znajomość koncepcji związanych z programowaniem w języku C++ na poziomie zaawansowanym
Posługiwanie się dowolnym środowiskiem programistycznym, które pozwala na tworzenie projektów w nowoczesnym C++
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Szablony funkcji, klas i zmiennych
Składnia
Sposób działania
Dedukcja typów parametrów
Specjalizacje
Szablony o zmiennej liczbie parametrów
Wyrażenia lambda
Dedukcja typów przez kompilator
Zmiennych
Funkcji
Klas
Uniwersalne referencje
Wyrażenia stałe (constexpr)
Polimorfizm
Dynamiczny
Statyczny
CRTP
Policy Based Design
Metaprogramowanie szablonowe
Meta-funkcje
Szablony wyrażeń
Cechy typów
SFINAE
Podstawy koncepcji C++20
Biblioteka standardowa
Algorytmy
Iteratory
Iteratory w ujęciu metaprogramowania