Pokročilé programování v C++

Jaro 2026
Středa 16:00, místnost T-124 (4 hodiny)
Trojanova 13, Praha 2

Předpokládaný obsah předmětu:

Šablonové metaprogramování -- variadické šablony -- vícevláknové programování -- korutiny -- moduly -- rozsahy (ranges) -- práce se znakovými řetězci -- knihovna kontejnerů -- lokální nastavení -- přístup k souborovému systému -- a další...

19. 2. 2026 Organizační záležitosti. Kopírování a stěhování instancí. Návrhový vzor most. Šablonová implementace spojového seznamu vyhovující požadavkům standardní knihovny -- počáteční verze. Zdrojový kód současné verze je zde.
26. 2. 2026 Implementace iterátoru spojového seznamu podle požadavků standardní knihovny -- dokončení. Úvod do šablonového metaprogramování. Zdrojový kód příkladů je zde.
5. 3. 2026 Šablonové metaprogramování založené na částečné specializaci šablon objektových typů. Variadické šablony (šablony s proměnným počtem parametrů) - úvod. Příklady najdete zde..
12. 3. 2026 Šablony s proměnným počtem parametrů: Redukce balíku, obecné použití balíku. Příklady najdete zde.
19. 3. 2026 Pravidlo SFINAE a jeho použití v metaprogramování. Příklady najdete zde.
26. 3. 2026 Podivná rekurze šablon (CRTP). Koncepty. Příklady najdete zde.
2. 4. 2026 Podprocesy (vlákna) v C++. Třídu Řešitel najdete zde. Příklady najdete zde.
9. 4. 2026 Podprocesy: atomické typy. Podmínkové proměnné. Proměnné vlastní podprocesu. Příklady najdete zde. Nástroje pro testování prvočíselnosti jsou zde.
16. 4. 2026 Odpadá - děkanské volno.
23. 4. 2026 Třída future<> a její použití. Třída packaged_task a funkce async. Odpočítávání. Příklady najdete zde.
30. 4. 2026 Bariéra, semafor. Moduly. Korutiny -- úvod. Příklady najdete zde.
7. 5. 2026 Korutiny - dokončení. Rozsahy a pohledy (ranges, views). Příklady najdete zde.

Doporučená literatura

Moje domovská stránka  Přednášky a semináře