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

Essenzielle C++‑Themen (Mittelstufe)

Fortgeschritten
21 h
4.8 (537 Bewertungen)
Essenzielle C++‑Themen (Mittelstufe)

Zentrale Konzepte: Dein Verständnis für essentielle und moderne C++‑Features festigen.

Hands-on Fokus auf Arrays, Funktionen, Speicherverwaltung, OOP, Templates, STL und Nebenläufigkeit.

Starke Grundlage für fortgeschrittene Themen und Zertifizierung schaffen.

Praktische Erfahrung sammeln durch aktives Programmieren (~70% Praxis).

Wie dieser Kurs hilft: Sicherheit im Einsatz von C++ in echten Projekten.

Für wen: gedacht für Entwickler/innen mit C++‑Grundkenntnissen, die den nächsten Schritt gehen wollen.

Am Ende setzt du C++ auf mittlerem Niveau sicher ein und bereitest dich auf die CPA‑Prüfung vor.

Curriculum

Einführung in die C++‑Programmierung
  • Build‑Prozess: von Source zu Binary; während des Builds entstehende Artefakte
  • Arbeiten mit Strings
  • Standard Input und Output
  • String‑Formatierung
  • Kontrollfluss: Bedingungen, Schleifen, switch
  • Gleitkommazahlen: Repräsentation, Präzision, Vergleich
  • Arbeiten mit Arrays
  • Mehrdimensionale Arrays und deren Größen
  • Array‑Operationen: Sortieren und einfache Reduce‑Operationen
Elemente von modernem C++
  • Das Schlüsselwort auto
  • nullptr
  • Return type deduction
  • decltype, typeid, type traits
  • Strongly‑typed enums (scoped enums)
  • static_assert und Anwendungen
  • override
  • Defaulted constructors
  • constexpr
  • Arbeiten mit Zufallszahlen in modernem C++
Der Funktionsmechanismus
  • Arbeiten mit Funktionen
  • Funktionsparameter
  • Return type
  • Lokale vs. globale Variablen
  • Warnhinweise zu globalen Variablen
Pointer und Speicher
  • Variablen und Adressen; Memory Layout
  • Pointer‑Grundlagen und Pointer‑Arithmetik
  • NULL vs. nullptr
  • Dynamische Allokation mit new und delete
  • Pointer und Arrays; mehrdimensionale Arrays
  • Arrays und Funktionen
OOP in C++
  • struct vs. class; Klassen und Objekte
  • Abstraktion und Kapselung
  • Konstruktoren/Destruktoren; Überladen von Konstruktoren
  • Initialization list vs. member initialization
  • Das Schlüsselwort this
  • friend, private, protected, public
  • Komposition, Vererbung, Polymorphie, dynamic dispatch
  • finale Klassen/Methoden; override und delete
  • Delegating constructors
Templates
  • Function templates und Type Inference
  • Class templates; nested template classes
  • Variadic templates
Praktische funktionale Programmierung
  • Function pointers
  • Functors
  • Lambdas
  • Lambda‑Parameter und Return Types
  • Lambda capture expressions
  • Wie Lambdas funktionieren
  • Generic Lambdas; mutable Lambdas
Standard Template Library
  • Vectors; Vectors und Speicher; mehrdimensionale Vectors
  • Lists
  • Maps (Objekte als Werte und Schlüssel)
  • Multimaps
  • Sets
  • Stacks
  • Queues und Deques
  • Algorithms
Multithreading und Parallelismus
  • Grundlagen: visibility, atomicity
  • Atomic operations in modern C++
  • Mutexes und Locks
  • Condition variables: Nutzung und Szenarien
Unter der Haube
  • Laufzeitkosten von C++‑Features
  • Virtual und pure virtual functions
  • Objektadressen bei (mehrfacher) Vererbung
  • No‑cost C++ features vs. low‑cost C++ features
Verschiedenes
  • rvalues und lvalues
  • lvalue references vs. rvalue references
  • Move constructors und Move‑Assignment‑Operatoren

Kursablauf

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