Szkolenie dostępne na zamówienie

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)

Poziom zaawansowania:

Kod kursu:CPP/META

Szkolenie na zamówienie

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Zapytanie o szkolenie

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

Pobierz program w PDF

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

Autorem szkolenia jest Witold Wysota

Architekt i programista systemowy z dużym doświadczeniem komercyjnym oraz asystent w Instytucie Informatyki PW. Zajmuje się głównie technologiami związanymi z językiem C++, zarówno na platformach biurkowych jak i wbudowanych. Jest specjalistą od Qt - w tym autorem książek i artykułów. Od kilkunastu lat prowadzi wykłady i szkolenia z tej tematyki.