Prednášky

1 Úvod (pdf)

Záznam z prednášky sa dá pozrieť na google drive.

  • O čom bude tento predmet?

  • Ako sa bude hodnotiť?

  • Kľúčové vlastnosti jazyka C++ (typy, abstrakcia...)

  • Porovnanie výhod C++ voči jazyku C

  • Malý kvíz ohľadom funkcie int main() { }

2 Nový začiatok (pdf)

Záznam z prednášky sa dá pozrieť na platforme MS Teams.

  • Hello world! program

  • Typy, základné operácie a funkcie

  • Zložené typy (polia, reťazce, štruktúry)

  • Smerníky a referencie

  • Kompilácie

  • Code style

  • Konštanty

  • Príkazy na riadenie programy

3 Scope, class a úvod do štandardnej knižnice (pdf)

  • Scope

  • Triedy a objekty

  • Životnosť premenných

  • Základné objekty zo štandardnej knižnice

    • std::vector

    • std::string

  • Volanie hodnotou a referenciou

4 Riešenie chýb (pdf)

  • pretypovanie

  • assert

  • atribúty

  • std::optional

  • Postupy riešenia chybových stavov

    • Návratové kódy

    • errno

    • Výnimky

5 Objektovo orientovaně programovacie (pdf)

  • OOP vo všeobecnosti

  • Čo už vieme o triedach?

  • new a delete

  • Hlavné piliere OOP

    • Abstrakcia

    • Zapuzdrenie

    • Dedičnosť

  • Polymorfizmus

  • std::unique_ptr<T>

  • dynamic_cast<T>

6 Hodnotová sémantika a algoritmy (pdf)

  • Objekty ako hodnota

  • Preťažovanie operátorov

  • Globálne a statické premenné

  • Štandardné algoritmy

    • Iterátory

    • Ranges

7 Move a rvalue referencie (pdf)

  • Čo je to lvalue a rvalue?

  • rvalue referencie

  • xvalue

  • std::move

  • RVO a NRVO

8 Lambdy, std::variant (pdf)

  • Kľúčové slovo auto

  • Smerníky na funkcie, functory

  • Lambdy

  • Polymorfné lambdy

  • std::variant

  • Porovnávanie signed a unsigned typov

9 Štandardná knižnica 2 (pdf)

  • Asociatívne kontajnery

    • std::map

    • std::unordered_map

  • Zreťazené zoznamy

  • Adaptéry

    • std::stack

    • std::priority_queue

  • Množinové algoritmy

10 Preprocesor (pdf) a šablóny (pdf)

  • Kompilácia a jej fázy

  • Direktívy preprocesora

  • Makrá

  • Šablóny

  • Type erasure

  • std::any

11 Multithreading (pdf)

  • Procesy a thready

  • std::thread

  • Ako čakať na thread

  • Mutexy

  • Atomické premenné

  • std::shared_ptr

  • std::async