Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2025/2026

Efektivní programování v C++

Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
NI-EPC Z,ZK 5 2P+1C česky
Garant předmětu:
Daniel Langr
Přednášející:
Daniel Langr
Cvičící:
Daniel Langr
Předmět zajišťuje:
katedra počítačových systémů
Anotace:

Studenti se naučí využívat moderní rysy současných verzí jazyka C++ pro tvorbu softwaru. Důraz je kladen především na efektivitu, a to jak v podobě tvorby udržovatelných a přenositelných zdrojových kódů, tak v podobě korektních programů s nízkými nároky na paměť a procesorový čas.

Požadavky:

Velmi dobré znalosti látky z předmětů BI-PA1 a BI-PA2, částečné znalosti látky z předmětů BI-SAP a BI-OSY. U BI-PA2 je rovněž doporučena znalost z „rozšiřujících materiálů“.

Osnova přednášek:

1. Úvod, standardy a implementace C++

2. Pozorovatelné chování, jednotky překladu, nedefinované chování

3. Objektový model C++ základy

4. Objektový model C++ pokračování

5. Objektový model C++ příklady

6. Výrazy, reference, obsah objektů

7. Kopírování a přesun obsahu

8. Šablony základy

9. Šablony variadické šablony, perfect forwarding, emplace sémantika

10. Šablony SFINAE, koncepty a omezení, type erasure, CRTP

11. Výjimky a bezpečnost, RAII

12. Výkon a efektivita

13. Short string optimization

Osnova cvičení:

Na počítačových cvičeních řeší studenti úlohy navazující na přednášky; cvičící poskytuje konzultace a rady.

Cíle studia:

Cílem předmětu je naučit studenty využívat současné verze jazyka C++ tak, aby v něm byli schopni vytvářet efektivní, korektní, udržovatelný a přenositelný software.

Studijní materiály:

C++ reference (cppreference.com)

C++ standards (drafty)

Stack Overflow

CppCon přednášky

C++ Core Guidelines

Poznámka:
Další informace:
https://courses.fit.cvut.cz/NI-EPC/
Rozvrh na zimní semestr 2025/2026:
Rozvrh není připraven
Rozvrh na letní semestr 2025/2026:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 14. 4. 2025
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6071806.html