Seminarinformationen

Seminar - Ziel

In diesem 4-tägigen Seminar "C++ Fortgeschrittenenkurs" erlernen Sie fortgeschrittene Techniken und neue Features von C++. Der Kurs vermittelt wichtige Konzepte wie RValue-Referenzen, Move-Semantik, Initialisierungslisten, Lambdas und Templates.

Sie erhalten einen umfassenden Überblick über die Standard Template Library (STL), einschließlich ihrer Container-Klassen, Iteratoren und Algorithmen. Zudem werden Themen wie Typermittlung, Meta-Programmierung und der Einsatz von Smart Pointern behandelt. Darüber hinaus lernen Sie die Erweiterungen von C++20 kennen, darunter Concepts, Ranges und Coroutines.

Teilnehmer - Zielgruppe

  • Softwareentwickler

Kurs - Voraussetzungen

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:

Seminardauer

  • 4 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

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)

Weitere Schulungen zu Thema C++ Programmierung

Plattformübergreifende Entwicklung mit Qt - Einführung

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In diesem 3-tägigen Seminar "Plattformübergreifende Entwicklung mit Qt - Einführung" erlernen Sie die grundlegenden Konzepte und Techniken zur Entwicklung plattformübergreifender Anwendungen mit Qt. Sie machen sich mit der Qt-Entwicklungsumgebung und dem QtCreator ...

C++ Programmierung Grundlagen

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In diesem 5-tägigen Seminar "C++ Programmierung Grundlagen" erwerben Sie die Fähigkeiten, Programme mit der erweiterten Sprache C zu entwickeln. Sie lernen, eigene Problemstellungen selbstständig in funktionierende Programme zu überführen. Die Unterschiede zu C ...

C++ Programmierung Grundlagen kompakt (ohne Vorkenntnisse)

- u.a. in Düsseldorf, Heidelberg, Erfurt, Darmstadt, Nordhausen

In diesem 5-tägigen Seminar "C++ Programmierung Grundlagen kompakt (ohne Vorkenntnisse)" erwerben Sie die grundlegenden Kenntnisse der C++-Programmierung, mit dem Ziel, erste kleinere Programme eigenständig zu schreiben. Darüber hinaus sind Sie nach der Schulung in ...

Modernes C++ mit OOP Vertiefung

- u.a. in Stuttgart, Mannheim, Kassel, Jena, Nordhausen

In dieser 3-tägigen Schulung "Modernes C++ mit OOP Vertiefung" lernen Sie fortgeschrittene Konzepte der objektorientierten Programmierung (OOP) in C++. Sie werden sich mit pure virtuellen Methoden, Polymorphie und den Neuerungen der Sprache durch C++11/14/17/20 vertraut ...