Zkuste nás kontaktovat

Návrh Školení

  • Co je to vestavěný systém?
    • Jednoduchá definice
    • Několik milníků vývoje
    • Charakteristické rysy
    • Proč použít C++?
  • Srovnání s jazykem C
    • C: skutečně podmnožina C++, téměř
    • Výkonnostní aspekty
    • Přidané „bezplatné“ funkce v C++
    • Proč by se neměl používat C++?
  • Třídy
    • Proměnné členy třídy
      • Instanční proměnné
      • Globální proměnné třídy
    • Funkce členy třídy
      • Metody instance
      • Statické metody třídy
    • Implicitní metody
      • Konstruktor
        • Inicializace objektů
        • Delegování inicializace
      • Destruktor
      • Přiřazovací operátor kopírování
    • Přesunová sémantika – jak se vyhnout zbytečnému hlubokému kopírování dat
    • Struktury v C++
    • Balíčky a jmenné prostory
  • Dědičnost
    • Základní principy
    • Praktická aplikace
    • Vliv na výkon systému
    • Vícenásobná dědičnost
    • Virtuální dědičnost
  • Polymorfismus
    • Přehled možností
    • Virtuální funkce
    • Virtuální destruktor
    • Implementace polymorfismu
    • Informace o typu za běhu, tzv. RTTI
    • Efekt na výkonnost systému
  • Šablony
    • Představení šablon
    • Funkční šablony
    • Třídní šablony
      • Variadické šablony
    • Problematika nadbytečného generování kódu
    • Různé strategie implementace šablon
    • Tematika metaprogramování pomocí šablon
    • Šablony vs. dědičnost – kterou variantu zvolit?
  • Ošetření chyb
    • Pojem a použití výjimek
    • Vliv na výkonnost programu
    • Praktická implementace výjimek
  • Inline funkce
    • Kdy je vhodné jejich použití?
    • Různé strategie optimalizace pomocí inline kódu
  • Inicializace systému
    • Spouštění programu na úrovni celého systému
    • Část z pohledu jazyka C
    • Část z pohledu jazyka C++
  • Standardní knihovna
    • Standardní šablonová knihovna, tzv. STL
    • Knihovna iostream pro vstup/výstup
    • Hlavní rozšíření knihovny STL díky C++11:
      • Přesunová sémantika
      • Variadické šablony
      • Souběžné programování
  • Správa paměti
    • Model správy paměti v C++
      • Použití typů z knihovny stdint
      • Atomické proměnné a jejich operace
    • Různé strategie alokace a uvolňování paměti
    • Použití obyčejných proměnných v C++
    • Možnost použití operátoru placement new pro přímé alokování v paměti
    • Vlastní strategie správy paměti
  • Interakce mezi C a C++
    • Manipulace s názvy symbolů (name mangling)
    • Statická inicializace proměnných
    • Dynamické alokování paměti v obou jazycích
    • Struktury a jejich obsah
      • Pojem POD – tj. jednoduché datové typy bez složitých vlastností
  • Návrhové vzory v praxi
    • RAII – princip přiřazení zdrojů k jejich inicializaci
    • Paměťově mapovaný vstup/výstup
    • Ošetřování přerušení v programu
    • Koncept a implementace inicializace statických objektů

Požadavky

k účasti na tomto kurzu nejsou vyžadovány žádné specifické předpoklady.

 21 Hodiny

Počet účastníků


Cena za účastníka

Reference (3)

Nadcházející kurzy

Související kategorie