0,00  0

Koszyk

Brak produktów w koszyku.

C++ Metaprogramowanie w języku C++

Produkt dostępny na zamówienie

Opis

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).

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

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

Notyfikacja: 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

Najczęściej zadawane pytania:

Potrzebujesz więcej informacji, napisz do nas:

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
Autoryzowany partner
Cena netto
3 751,00 zł
Cena brutto (23%)
4 613,73 zł

Uwagi

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

Produkt dostępny na zamówienie

Brak zaplanowanych terminów.

Twoje IT. Twoje zasady. Twoje możliwości.

Join our newsletter to stay up to date on features and releases.

By subscribing, you agree to our Privacy Policy and consent to updates.
© 2025  OSEC sp. z o.o.  All rights reserved.
Polityka prywatności