Zaawansowane programowanie w języku C++

Czas trwania szkolenia:4 dni (32h)

Kod kursu:CPP/ADV

Poziom zaawansowania:
solid

Szkolenie na zamówienie

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

O szkoleniu Zaawansowane programowanie 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?

  • 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

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

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

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

Program

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

Podobne szkolenia