Edocti
Fortgeschrittene technische Ausbildung für den modernen Softwareingenieur
Edocti Training

Modernes C++ – Fortgeschrittene Themen

Fortgeschritten
21 h
4.8 (498 Bewertungen)

Geplante Sessions

Beginn: 16.09.2026 , 3 Tage
Live online Bestätigt DE ● Instructor-led
€ 550 Anmelden
Modernes C++ – Fortgeschrittene Themen

Fortgeschrittene Techniken: Meistern Sie weit verbreitete moderne C++-Features durch intensive, praxisnahe Übungen.

Tauchen Sie tief in Templates, Lambdas, Smart Pointers, Multithreading und Metaprogrammierung anhand prägnanter Code-Beispiele ein.

Verstehen Sie die Laufzeitkosten und Best Practices, um moderne Sprachfeatures sicher in Produktionscode zu integrieren.

Praktische Erfahrung sammeln: Etwa 70% des Trainings bestehen aus umfangreichen Labs und realistischen Industrie-Szenarien.

Wie dieser Kurs hilft: Sie lernen, moderne C++-Standards effektiv und performant in professionellen Projekten anzuwenden.

Für wen: Konzipiert für Entwickler mit C++-Vorkenntnissen auf Einsteiger- bis mittlerem Niveau, die den nächsten Schritt machen wollen.

Am Ende wirst du modernes C++ sicher in verschiedensten Domänen einsetzen.

Fähigkeiten, die Sie lernen werden

Modernes C++ (C++11–C++26) Templates & Metaprogrammierung Multithreading & Nebenläufigkeit Smart Pointers & Memory Lambdas & Funktionales C++ STL & Ranges Performance-Optimierung CMake-Grundlagen

Curriculum

Elemente des modernen C++

  • User-defined literals
  • Improved string literals for non-trivial applications
  • Ranges & Views (C++20)
  • Coroutines (C++20)
  • Modules (C++20)
  • constexpr improvements (e.g., heap allocations, virtual calls)
  • Designated initializers (C++20)
  • Three-way comparison operator (<=>) (C++20)
  • Pattern matching (C++23 preview/ C++26)
  • Reflection & metaprogramming (C++26 preview)

Moderne Templates und Metaprogrammierung

  • Variadic templates
  • Fold expressions (C++17)
  • Template variables
  • Concepts & Constraints (C++20)
  • Class Template Argument Deduction (CTAD) (C++17)
  • Non-type template parameters (C++20/23)
  • Using auto in templates (C++14/17/20)
  • constexpr metaprogramming
  • Type traits enhancements (e.g., std::is_scoped_enum, std::remove_cvref)

Praktische funktionale Programmierung

  • Lambdas
  • Parameters and return types
  • Capture expressions
  • Mutable lambdas
  • Generic lambdas
  • How lambdas work
  • Initialized lambda captures
  • std::function and std::invoke
  • Higher-order functions

Multithreading und Parallelismus

  • Grundlagen: visibility, atomicity
  • Atomic operations in modern C++
  • std::atomic_ref (C++20)
  • std::jthread (scoped threads with auto-join)
  • Mutexes and locks
  • Condition variables: Nutzung und Praxis‑Szenarien
  • Häufige Stolperfallen in nebenläufigem Code
  • Asynchronous execution
  • futures / promises
  • packaged_task
  • std::async and policies
  • std::stop_token (C++20)
  • Parallel STL algorithms (C++17/20): z. B. transform_reduce, sort mit execution policies

Smart Pointers

  • unique_ptr
  • shared_ptr
  • weak_ptr
  • Advanced pitfalls and best practices

Verschiedenes zu modernem C++

  • rvalues and lvalues
  • lvalue vs. rvalue references
  • Perfect forwarding
  • Move constructors and move assignment
  • Type deduction refinements (decltype(auto), scoped enums)
  • Enhanced constexpr capabilities
  • std::span (C++20)
  • Ablösung älterer Features (std::bind, raw pointers in new code, old-style casts)
  • std::optional, std::variant, and std::any

Unter der Haube

  • Laufzeitkosten von C++‑Features
  • Virtual and pure virtual functions
  • Object layout and addresses under (multiple) inheritance
  • Performance cost of coroutines, concepts, modules
  • Memory model evolution (std::atomic, std::pmr allocators)
  • Inlining (automatic vs. link-time): Vor‑ und Nachteile
  • STL views & laziness

Optionale Module

Kurze Einführung in CMake (wenn Zeit bleibt)

  • Build a small project with CMake
  • Start a new project or migrate an existing one from scratch

Kursablauf

  • Teil 1: 09:00–10:30
  • Kaffeepause: 10:30–10:45
  • Teil 2: 10:45–12:15
  • Mittagspause: 12:15–13:15
  • Teil 3: 13:15–15:15
  • Kaffeepause: 15:15–15:30
  • Teil 4: 15:30–17:30

Haben Sie an diesem Kurs teilgenommen?

Ihre Meinung ist uns sehr wichtig. Teilen Sie Ihre Erfahrungen mit uns und helfen Sie uns, diesen Kurs für zukünftige Teilnehmer weiter zu verbessern.

Feedback teilen

Möchten Sie mehr erfahren? Wir helfen Ihnen gern!

Oder schreiben Sie uns direkt an training@edocti.com.