Eine Weiterführung des Grundkurses: Die Standardbibliothek (STL), Templates, Lambda-Ausdrücke, ausgewählte Sprachelemente von C++17 und C++20 und die MISRA C++:2023 Guidelines. Dieser Kurs richtet sich an Software-Entwickler in Firmen, die mit C++ professionell programmieren wollen. Er vermittelt zusammen mit dem C++-Grundkurs einen umfassenden Überblick über das moderne C++.

Für die Übungen kann Visual Studio Communitiy, VS Code oder der freie gnu gcc Compiler verwendet werden.

Inhalt

Die Inhalte können an die Wünsche der Teilnehmer angepasst werden.

1. Namensbereiche

2. Exception-Handling

  • try, catch, throw
  • Exceptions in der Standardbibliothek
  • Die Freigabe von Ressourcen bei Exceptions (RAII)
  • std::stacktrace
  • noexcept

3. Container der Standardbibliothek

  • Sequenzielle Container, Iteratoren
  • Allokatoren und polymorphic memory resources
  • Geordnete und nichtgeordnete assoziative Container
  • Klassen vector, list und deque

4. Dateibearbeitung mit den Streamklassen

5. Funktionsobjekte und Lambda-Ausdrücke

  • Der Aufrufoperator
  • std::function
  • Lambda-Ausdrücke

6. Templates

  • Funktions-Templates und Spezialisierungen
  • Nicht-Typ-Parameter
  • Rekursive Funktions-Templates und Variadische Templates
  • Klassen-Templates
  • Type Traits
  • Typ-Inferenz
  • concepts und ranges

7. STL-Algorithmen und Lambda-Ausdrücke

  • STL-Algorithmen vs. selbstgestrickte Algorithmen
  • Linear Suchen, Zählen
  • Elemente transformieren und ersetzen
  • Sortieren
  • Binäre Suche in sortierten Containern
  • Parallele Algorithmen der STL, z.B. std::sort
  • Parallel for mit for_each
  • std::reduce und std::transform_reduce 

8. Zeit- und Kalenderdaten mit chrono

  • Zeitpunkte und Zeitdauern
  • Uhren

9. Multithreading

  • Funktionen mit async und thread starten
  • Multithreading mit Lambda-Ausdrücken
  • Exceptions in Threads
  • future und promise
  • Kritische Abschnitte mit lock_guard usw. sperren
  • Bedingungsvariablen

10. Smart Pointer

  • unique_ptr und shared_ptr

Über den „C++ Aufbaukurs“

Zielgruppe dieser C++ Schulung

Software-Entwickler, die professionelle Programme mit C++ schreiben wollen. Die Teilnehmer sollten C++-Kenntnisse im Umfang des C++-Grundkurses haben.

Unterrichtsstil

Vortrag mit vielen Beispielen, die das Wesentliche auf den Punkt bringen. Dabei wird auf einen ausgewogenes Verhältnis von Theorie und Praxis geachtet.

  • Die Themen werden durch einen Überblick über die Grundideen und die Einsatzmöglichkeiten dargestellt und an sorgfältig ausgewählten und bewährten Beispielen illustriert.
  • Das Verständnis wird oft durch den Vergleich ähnlicher (auch älterer) Sprachelemente und ihrer Vor- und Nachteile vertieft. Dabei werden oft „best practises“ empfohlen.
  • Für Teilnehmer, die ihr Wissen selbständig vertiefen wollen, enthält das Manuskript zahlreiche praxisnahe Übungsaufgaben. Auf Wunsch können nach vorheriger Absprache auch Aufgaben aus der Arbeit der Seminarteilnehmer behandelt werden.

Falls sich im Lauf des Seminars  zeigt, dass Grundlagen bei den Teilnehmern fehlen oder weitere Themen gewünscht werden, kann die Agenda auch noch während des Seminars an die Wünsche der Teilnehmer angepasst werden.

Anfrage/Kontakt

Sie möchten den Aufbaukurs Modernes C++ als Inhouse-Schulung für Ihr Unternehmen planen?

Dann kontaktieren Sie mich einfach telefonisch oder per Mail.

Wir können dann die Inhalte der Schulung auf Ihre spezifischen Bedürfnisse und die Vorkenntnisse Ihrer Mitarbeiter abstimmen und einen Termin vereinbaren, der für Ihre Mitarbeiter passt.