Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:
- Besuch des Seminars C++ Programmierung Grundlagen oder vergleichbare Kenntnisse
Einführung & Überblick
- Motivation: Warum modernes C++?
- Sprachstandards im Überblick (C++11, 14, 17, 20, 23)
Syntax und Sprachgrundlagen (C++11 – C++14)
-
Initialisierung & Typinferenz
- Einheitliche Initialisierung:vs ()
- auto (C++11)
- decltype, std::declval
- Strukturierte Bindungen (C++17)
- Automatischer Rückgabetyp (C++14)
-
Konstanten & Compile-Time-Ausdrücke
- constexpr (C++11, 14, 20)
- constexpr if (C++17)
-
Range-basierte for-Schleife (C++11)
Speicher & Ressourcenverwaltung
- RValues und Move-Semantik (C++11)
- Smart Pointer
- std::unique_ptr
- std::shared_ptr
- std::weak_ptr
- Neue Utility-Klassen
- std::optional
- std::variant
- std::any
- std::string_view
- std::span
- std::tuple
Funktionen & Funktionsobjekte
- Lambdas
- Grundlagen (C++11)
- Generische Lambdas (C++14)
- Funktoren und Callable-Objekte
Templates & Generische Programmierung
- Grundlagen
- Funktions- und Klassentemplates
- Template-Argumente und Typermittlung
- Erweiterte Techniken
- Variadische Templates (C++11)
- Folding (C++17)
- Konzepte und Requirements (concept, requires)
- Metaprogrammierung
- Compiler-berechnete Werte (Den Compiler rechnen lassen)
- Expression Templates
Standard Template Library (STL)
- Kernkomponenten
- Container, Iteratoren, Algorithmen
- Range-basierte Nutzung
- Erweiterungen
- Parallele Algorithmen (C++17)
- Ranges (C++20)
C++20 & C++23: Moderne Erweiterungen
- Kernfeatures
- Concepts
- Ranges
- Coroutines
- Modules
- Format Library (std::format, std::println)
- Bibliotheks-Verbesserungen
- std::to_array
- std::string-Funktionen
- 3-way comparison ()
- Attribute (z. B. likely / unlikely)
- Kalender- & Zeitzonenbibliothek
- std::expected (C++23)
- Copy-Elision
Multithreading (C++11)
- Threads, Mutex, Locks, Futures
Zusammenfassung & Ausblick
- Moderne C++-Paradigmen: RAII, Value Semantics, Compile-Time Design
- Best Practices für modernen C++-Code
- Blick in C++26 (Reflection)
Hinweise
C
Zielgruppen
Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:
- Besuch des Seminars C++ Programmierung Grundlagen oder vergleichbare Kenntnisse
Einführung & Überblick
Mehr Informationen