Metaprogramowanie w języku C++

Czas trwania szkolenia:3 dni (24h)

Kod kursu:CPP/META

Poziom zaawansowania:

Szkolenie na zamówienie

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

O szkoleniu Metaprogramowanie w języku 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

Dla kogo?

  • Zaawansowanych programistów programujących w języku C++
  • Osób praktycznie stosujących system szablonów we własnych projektach

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++

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

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

Program

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

Podobne szkolenia