Formularz kontaktowy

Close

    Szkolenie

    Osoba zgłaszająca


    C++ Metaprogramowanie w języku C++

    PCPPMET1

    Opis

    Umiejętności zdobywane podczas kursu:

    • stosowanie metaprogramowania we własnych projektach
    • diagnozowanie błędów związanych z czasem kompilacji (czas przetwarzania szablonów)
    • definiowanie własnych języków zależnych od dziedziny

    Cel

    • identyfikacja obszarów zastosowań metaprogramowania we własnych projektach
    • definiowanie mechanizmów związanych z metaprogramowaniem w języku C++
    • umiejętność definiowania własnych języków zależnych od dziedziny
    • podniesienie reużywalności kodu w projektach

    Grupa docelowa

    Szkolenie przeznaczone jest dla doświadczonych programistów programujących w języku C++. Zakłada biegłą znajomość technologii szablonów oraz wzorców projektowych GoF. W trakcie zajęć słuchacze zapoznają się z technologią metaprogramowania, która umożliwia im tworzenie elastycznych komponentów.
    Znajomość technologii metaprogramowania w istotnym stopniu podnosi reużywalność kodu w projektach i umożliwia przesunięcie konkretyzacji kodu do binarium z czasu kompilacji do etapu jego obróbki w trakcie przetwarzania szablonów.
    W trakcie zajęć słuchacze zapoznają się z właściwościami biblioteki Boost oraz poznają możliwości definiowania własnych języków zależnych od dziedziny (DSL).

    Wymagania

    • biegłe programowanie w języku C++ z użyciem paradygmatów proceduralnego, obiektowego oraz generycznego
    • podstawowa znajomość paradygmatu programowania funkcyjnego
    • stosowanie systemu szablonów we własnych aplikacjach
    • umiejętność biegłego programowania w środowisku wybranego IDE

    Konspekt

    1. Metaprogramowanie – definicja i zakres zastosowania
      • programowanie czasu kompilacji
      • generatory obiektów
      • złożenia klas
      • wymazywanie typu
    2. Optymalizacja kodu w czasie kompilacji
      • powracający szablon
      • sizeof i jego zastosowanie
      • statyczny polimorfizm
    3. Cechy i manipulacja typem
      • powiązania typów
      • metafunkcje i metafunkcje numeryczne
      • biblioteka Boost Type Traits
      • metafunkcje bezargumentowe
      • implementacja lambda
    4. Iteratory i sekwencje
      • definicja sekwencji i iteratora
      • klasy sekwencji
      • definiowanie własnych sekwencji
    5. Dostępne algorytmy
      • idiomy i abstrakcja algorytmów oraz wielokrotne użycie
      • pojęcie i definicja insertera
      • definiowanie własnych algorytmów
    6. Widoki i adaptery iteratorów
      • pojęcie i definiowanie własnego widoku
      • adapter interatora i jego obsługa
    7. MPL – biblioteka wspierająca metaprogramowanie
      • przegląd możliwości Boost MPL
      • zastosowanie Boost MPL
    8. Języki osadzone zależne od dziedziny
      • języki DSL (ang. domain specific language) i zakresy ich zastosowań
      • biblioteka Boost Spirit jako przykład DSL

    Uwagi

    Czas trwania szkolenia – 2 dni.
    Oferujemy szkolenia w naszych ośrodkach w Warszawie, Wrocławiu, Krakowie, jak i w lokalizacjach wskazanych przez klienta.
    W celu ustalenia szczegółów prosimy o kontakt na osec@osec.pl

    For more details, please contact us at osec@osec.pl

    Note: The course outline is subject to change as technology advances and the underlying job evolves. For questions or confirmation on a specific objective or topic, please contact us at osec@osec.pl
    Cena netto:3751 PLNCena brutto:4613.73 PLNOpis

    Kurs przyjęty do powyższej kalkulacji 1 EUR = 4.3529 PLN – tabela nr. 064/C/NBP/2024, z dnia 2024-03-28. Obowiązująca od: 2024-03-29. Cena w PLN jest orientacyjna (wyliczana z EUR/USD wg kursu sprzedaży NBP z dnia wystawienia faktury). Przyjmujemy wpłaty w PLN lub EURO.

    Uwaga

    Oferujemy szkolenia wirtualne, self-paced oraz stacjonarne (w Warszawie i w lokalizacjach wskazanych przez klienta).
    W celu ustalenia szczegółów prosimy o kontakt na osec@osec.pl

     

     

    Opis:

      – Termin gwarantowany (GTR)

    Terminy