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

Jaro 2024
Pondělí 14:00, místnost T-115 (4 hodiny)
Trojanova 13, Praha 2

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

Šablony v C++ -- š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ší...

12. 2. 2024 Organizační záležitosti. Kopírování a stěhování instancí. Návrhový vzor most. Šablonová implementace spojového seznamu -- počáteční verze. Zdrojový kód současné verze je zde.
19. 2. 2024 Stěhovací konstruktor a přiřazovací operátor. Metody s referenční kvalifikací. Implementace iterátoru podle požadavků standardní knihovny. Zdrojový kód současné verze programu je zde.
26. 2. 2024 Úvod do šablonového metaprogramování založeného na částečné specializaci šablon objektových typů. Příklady najdete zde..
4. 3. 2024 Metaprogramování založeného na částečné specializaci šablon objektových typů - dokončení. Šablony s proměnným počtem parametrů. Příklady najdete zde.
2. 3. 2024 Šablonové metaprogramování založené na šablonách s proměnným počtem parametrů. Příklady najdete zde.
11. 3. 2024 Variadické šablony - dokončení. Příklad najdete zde.
18. 3. 2024 SFINAE (nezdařené dosazení není chybou). CRTP (podivná rekurze šablon). Příklady jsou zde.
25. 3. 2024 CRTP - dokončení. Generické lambda-výrazy, strukturovaná vazba. Koncepty - úvod. Příklady najdete zde.
1. 4. 2024 Odpadá - velikonoční pondělí.
8. 4. 2024 Koncepty - dokončení. Podprocesy (vlákna) v C++ - úvod, souběh, synchronizace zámkem. Příklady najdete zde.
15. 4. 2024 Podporocesy (vlákna) v C++ - dokončení (podmínková proměnná, future a promise, balená úloha, async). Příklady najdete zde.
22. 4. 2024 Rozsahy a pohledy (ranges, views).

Doporučená literatura

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