Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2023/2024
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Moderní programování v C++

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah
MI-MPC Z,ZK 5 2P+1C
Garant předmětu:
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra softwarového inženýrství
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.

Od B201 vypisována ekvivalentní náhrada NI-EPC.

Požadavky:

Základy programování v C a C++ (na úrovni předmětů BI-PA1 a BI-PA2)

Osnova přednášek:

1. Úvod, optimalizace ukládání krátkých řetězců

2. Kopírování vs přesun obsahu objektů

3. Efektivní podoby speciálních členských funkcí

4. Dynamická alokace paměti, dynamické vytváření objektů

5. Zachování hodnotové kategorie, variadické šablony

6. Redukce kopírování a přesunu obsahu objektů, inicializace

7. Dedukce typů

8. Specializace šablon a šablonové metaprogramování

9. Aserce, výběr volané funkce, lambda funkce

10. Automatické uvolňování prostředků, chytré ukazatele, skrytí typu objektu

11. Více-vláknové programování

12. Politiky, optimalizace prázdné bázové třídy, výčtové typy

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:

Josuttis, The C++ Standard Library-A Tutorial and Reference

Meyers, Effective Modern C++

Prata, C++ Primer Plus

Reddy, API Design for C++

Stroustrup, Programming - Principles and Practice Using C++

Stroustrup, The C++ Programming Language

Sutter and Alexandrescu, C++ Coding Standards: 101 Rules, Guidelines, and Best Practices

Vandervoorde and Josuttis, C++ Templates - The Complete Guide

Williams, C++ Concurrency in Action

cppreference.com, www.cplusplus.com (C++ reference)

stackoverflow.com (developer forum)

isocpp.org (news, status, blogs, FAQs, discussion)

ISO/IEC 14882:2014 Information technology - Programming languages-C++

Poznámka:

Předmět nahrazen ekvivalentním NI-EPC // Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/MI-MPC/

Další informace:
https://courses.fit.cvut.cz/MI-MPC/
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 18. 4. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet5073206.html