Skip to content

C++-Schulung: modernes C++ sicher und wirksam einsetzen

Drei Tage, die aus C++-Code, der wie C mit Klassen aussieht, modernen C++-Code machen. Mit klarem Blick darauf, welche Sprachmittel auf beschränkter Hardware tatsächlich nichts kosten – und welche eben doch.

Niveau
Fortgeschritten
Dauer
3 Tage
Formate
Inhouse · Remote
Preis
ab 1.400 € pro Tag
Gruppenpreis, unabhängig von der Teilnehmerzahl (1–8), zzgl. MwSt.

Schwerpunkte

  • Move-Semantik & RAII
  • Smart Pointer & Ownership
  • Templates & Concepts
  • Ranges, Lambdas, constexpr

Für wen diese Schulung gedacht ist

Für Entwickler, die C++ produktiv einsetzen und dabei überwiegend auf einem Stand arbeiten, der vor Jahren gesetzt wurde. Typisch ist eine gewachsene Codebasis mit manuellem Speicher-Management, rohen Zeigern und Kommentaren, die erklären, wer wofür verantwortlich ist – Dinge, die moderneres C++ im Typsystem ausdrückt statt in Prosa.

Ebenso für Teams, die den Standard bereits angehoben haben, aber die neuen Sprachmittel nur punktuell nutzen, weil unklar ist, was sie kosten.

Inhalte

Tag 1 – Ressourcen und Ownership. RAII als Grundprinzip, nicht als Stilfrage. Move-Semantik: was tatsächlich passiert, wann der Compiler sie einsetzt und warum ein falsch geschriebener Konstruktor sie stillschweigend verhindert. Smart Pointer und die Frage, die dahintersteht: Wem gehört dieses Objekt und wie lange. Wir überarbeiten gemeinsam Beispielcode und machen Besitzverhältnisse aus Kommentaren zu Typen.

Tag 2 – Abstraktion ohne Laufzeitkosten. Templates jenseits von Containern, constexpr und was zur Übersetzungszeit erledigt werden kann. Concepts als lesbare Anforderungen an Template-Parameter – der Punkt, an dem Fehlermeldungen wieder verständlich werden. Ranges und Algorithmen statt handgeschriebener Schleifen. Durchgehend mit Blick darauf, was im erzeugten Code landet.

Tag 3 – Robustheit im Alltag. Fehlerbehandlung: Exceptions, Rückgabetypen und die Abwägung dahinter, gerade wenn Exceptions im Projekt abgeschaltet sind. Nebenläufigkeit: Threads, Locks, atomare Operationen und die typischen Fallen. Werkzeuge, die Fehler finden, bevor der Kunde es tut – Sanitizer, statische Analyse, Unit-Tests als Teil des Entwurfs.

Was Ihr Team danach kann

Besitzverhältnisse im Typsystem ausdrücken statt in Kommentaren. Beurteilen, ob eine Abstraktion zur Laufzeit etwas kostet – und es im Zweifel nachmessen. Templates schreiben, deren Fehlermeldungen lesbar bleiben. Und in einer bestehenden Codebasis begründet entscheiden, welche Modernisierung sich lohnt und welche nur Bewegung ist.

Voraussetzungen

Praktische C++-Erfahrung. Vertrautheit mit Klassen, Vererbung und Templates auf Anwendungsniveau. Kenntnis der neueren Standards ist nicht nötig – genau darum geht es.

Format und Ablauf

Drei Tage, inhouse oder remote. Der Anteil eigener Arbeit ist hoch: Wir überarbeiten vorbereiteten Code gemeinsam, statt Sprachmittel isoliert vorzuführen.

Für Teams mit Embedded-Schwerpunkt vertiefen wir die Abschnitte zu Code-Größe, Allokation und Echtzeitverhalten – die Zusammenhänge dazu haben wir im Beitrag zu modernem C++ für Embedded-Systeme beschrieben.

Häufige Fragen

Wann findet der nächste Kurs statt?
Den Termin legen wir mit Ihnen fest – wir führen den Kurs als Inhouse- oder Remote-Schulung für Ihr Team durch, nicht als offenes Seminar mit festem Kalender. In der Praxis heißt das: Sie nennen uns einen Wunschzeitraum, wir schlagen Termine vor. Vorlauf von zwei bis vier Wochen ist üblich, kurzfristiger geht je nach Auslastung ebenfalls.
Auf welchen Standard schulen Sie?
Der Schwerpunkt liegt auf C++17 als heute breit verfügbarer Basis, mit den praktisch relevanten Ergänzungen aus C++20 und C++23. Welcher Standard bei Ihnen realistisch einsetzbar ist, hängt am Compiler Ihrer Toolchain – das klären wir vorab und richten die Inhalte danach aus.
Ist die Schulung für Embedded-Entwicklung geeignet?
Ja, das ist unser Blickwinkel. Wir behandeln durchgehend, was ein Sprachmittel zur Laufzeit und an Code-Größe kostet, und gehen auf die Punkte ein, die in Embedded-Projekten regelmäßig diskutiert werden: Exceptions, RTTI, dynamische Allokation und deren Vermeidung im heißen Pfad.
Unser Team ist unterschiedlich weit. Funktioniert das?
Bis zu einem gewissen Grad, und wir planen es ein: Die Übungen haben jeweils einen Kern und eine Erweiterung, sodass erfahrenere Teilnehmer nicht warten müssen. Bei sehr großem Gefälle ist eine Aufteilung in zwei Gruppen aber der bessere Weg – das besprechen wir vorab ehrlich.
Behandeln Sie auch Tests und Werkzeuge?
Ja, in dem Umfang, in dem sie zum Schreiben von gutem C++ gehören: Unit-Tests als Teil des Entwurfs, Sanitizer zum Aufdecken von Speicher- und Nebenläufigkeitsfehlern, statische Analyse. Kein eigener Werkzeug-Kurs, aber die Werkzeuge, die den Unterschied machen.

Fachartikel zum Thema

Vertiefendes aus unserem Blog – dieselben Themen, ausführlich.

· 8 Min. Lesezeit

Modernes C++ (17/20/23) für Embedded-Systeme

Wie C++17, C++20 und C++23 Embedded-Software sicherer und klarer machen – bei kaum Laufzeitkosten, diszipliniert eingesetzt auf beschränkten Zielen.

  • C++
  • Modern C++
  • Embedded
Weiterlesen
· 6 Min. Lesezeit

Echtzeit mit Linux: was PREEMPT_RT leistet – und was nicht

Determinismus statt Tempo: wie PREEMPT_RT Linux echtzeitfähig macht, wie Sie Latenzen mit cyclictest belastbar messen und welche System- und Anwendungsfehler jede Konfiguration wieder zunichtemachen.

  • Echtzeit
  • PREEMPT_RT
  • Embedded Linux
Weiterlesen
Passende Leistung: C++ Software-Entwicklung Mehr erfahren →

Diese Schulung für Ihr Team?

Sagen Sie uns kurz, wie viele Teilnehmer, welcher Stand und welcher Zeitrahmen – wir machen Ihnen einen Vorschlag samt Terminen.

Projekt anfragen