Szkolenie dostępne na zamówienie

Zaawansowane programowanie w języku C++

Uczestnicy szkolenia Zaawansowane programowanie w języku C++ zapoznają się z metodami wytwarzania oprogramowania z użyciem zaawansowanych mechanizmów języka C++ oraz szablonów STL. Na zajęciach poruszymy zagadnienia związane z koncepcjami algorytmów, iteratorów i zaawansowanych struktur danych. W przykładach wykorzystywane są elementy biblioteki standardowej oraz elementy biblioteki Boost te, które stają się kandydatami do rozwijania następnego standardu.

Czas trwania szkolenia:4 dni (32h)

Poziom zaawansowania:

Kod kursu:CPP/ADV

solid

Szkolenie na zamówienie

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

Zaawansowane programowanie w języku C++

Cele szkolenia

  • Kształcenie umiejętności rozwijania wiedzy dotyczącej tworzenia zaawansowanych rozwiązań w języku C++

  • Osadzenie narzędzi i procesów tworzenia oprogramowania w realiach współczesnych wymagań Inżynierii Oprogramowania

  • Dokonanie konsolidacji wiedzy i uzupełnienie braków w kompetencjach w kontekście standardu C++

  • Nauka testowania jednostkowego aplikacji w języku C++

  • Nauka tworzenia aplikacji wielowątkowych z użyciem mechanizmów biblioteki standardowej

  • Nauka identyfikacji i tworzenia oprogramowania z użyciem wzorców GoF oraz elementów programowania funkcyjnego

  • Zapoznanie się ze współczesnymi bibliotekami przetwarzającymi dane


Dla kogo?

  • Programiści programujący w języku C i C++ w środowisku GNU/Linux lub MS Windows

  • Osoby znające w podstawowym zakresie system szablonów STL

  • Programiści tworzący oprogramowanie na platformie systemowej GNU/Linux lub MS Windows

  • Programiści tworzący aplikacje głównego nurtu oraz aplikacje sieciowe


Zalety

  • Uczestnicy szkolenia Zaawansowane programowanie w języku C++ poznają aspekty programowania uogólnionego oraz wstępnie koncepcje leżące u podstaw metaprogramowania ze szczególnym uwzględnieniem cech typów

  • Szczególny nacisk w trakcie szkolenia Zaawansowane programowanie w języku C++ kładziemy na zrozumienie aspektów wydajności oraz gospodarowania zasobami z użyciem wskaźników inteligentnych. Zajmiemy się także zarządzaniem czasem życia obiektu w odniesieniu do mechanizmu wyjątków oraz semantyki r-referencji

  • Na zajęciach posługujemy się technologiami otwartymi z dostępem do kodu źródłowego

  • Zajęcia prowadzone są przez doświadczonych praktyków, którzy na co dzień stosują technologie związane z językiem C++ w rzeczywistych projektach. W trakcie zajęć używamy technologii i środowisk otwartych

  • Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań

  • Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką

  • Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how


Wymagania

  • Posługiwanie się wybranym środowiskiem IDE

  • Znajomość koncepcji programowania obiektowego, systemowego i aplikacyjnego

  • Znajomość koncepcji związanych z programowaniem w języku C++ na poziomie podstawowym i średnio zaawansowanym


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

Pobierz program w PDF

Elementy nowych standardów C++

Inicjalizacja danych

  • Podstawowe rodzaje inicjalizacji

  • Przez kopiowanie i wprost

  • Pole po polu

  • Zmienne statyczne i globalne

  • Lista inicjalizacyjna

Semantyka przeniesienia

  • Kategorie wartości

  • Referencje na lewe i prawe wartości

  • Konstruktor i operator przeniesienia

Inteligentne wskaźniki

  • Własność danych

  • Jawne określanie własności

  • Przekazywanie i nieprzekazywanie własności

  • Zwalnianie pamięci

  • Współdzielenie własności

  • Modelowanie bez użycia wskaźników inteligentnych

Programowanie uogólnione

  • Dedukcja typów

  • Filozofia używania auto

  • Algorytmy biblioteki standardowej

  • Iteratory

Zakresy C++20

  • Iteracja po zakresie

  • Definicja zakresu

  • Algorytmy oparte o zakresy

  • Odwzorowania

  • Widoki i adaptery

  • Składanie widoków

Szablony funkcji i klas

  • Rodzaje szablonów

  • Parametry szablonów

  • Kompilacja szablonów

  • Specjalizacja

Programowanie czasu kompilacji

  • Wyrażenia wykonywalne podczas kompilacji

  • Elementy meta-programowania

  • Cechy typów

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.