C++ Fortgeschrittenenkurs

Seminarinformationen

Seminar - Ziel

  • In dieser 4-tägigen Schulung "C++ Fortgeschrittenenkurs" lernen Sie neue Techniken und Features von C++. Der Kurs behandelt wichtige Konzepte wie RValue-Referenzen, Move-Semantik, Initialisierungslisten, Lambdas und Templates. Sie erhalten einen Überblick über die Standard Template Library (STL) und deren Container-Klassen, Iteratoren und Algorithmen. Weiterhin werden Themen wie Typermittlung, Meta-Programmierung und die Verwendung von Smart Pointern behandelt. Sie erfahren auch, welche Erweiterungen C++20 bietet, einschließlich Concepts, Ranges und Coroutines.

Teilnehmer - Zielgruppe

  • Softwareentwickler

Kurs - Voraussetzungen

Seminardauer

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

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

Neue Techniken bei C++

  • Range-basierte for-Schleife (C++11)
  • RValues und Move-Semantik (C++11)
  • Initialisierungslisten (C++11)
  • {} oder ()? (C++11)
  • Faltungen (C++17)

Templates (generische Programmierung)

  • Funktionstemplates
  • Klassentemplates
  • Variadische Templates (C++11)
  • Spezialisierung
  • Funktoren
  • CRTP / SFINAE

Typermittlung im Detail

  • Template-Argumente
  • auto (C++11)
  • Strukturierte Bindung (C++17)
  • decltype und std::declval
  • Automatischer Rückgabetyp (C++14)

Lambdas (C++11)

  • Grundlagen
  • Generische Lambdas (C++14)
  • Erweiterte Captures (C++14)

Standard Template Library

  • Iteratorkonzept
  • Container (z.T. C++11)
  • Funktionen (z.T. C++11)
  • Parallele Algorithmen (C++17)

Meta-Programmierung

  • Den Compiler rechnen lassen (*)
  • Expression Templates
  • constexpr if (C++17)

Erweiterungen

  • Template-Klassen
  • Mehrfachvererbung (virtual)
  • Standard-Bibliothek (Überblick): Container-Klassen, Iteratoren, Algorithmen
  • Smart Pointer (Unique, Shared, Weak Pointer)
  • Neue Utility-Klassen (std::optional, std::variant, std::any, std::string_view)

C++ 20 Erweiterungen

  • Concepts (C++20)
  • Ranges (C++20)
  • Coroutines (C++20)
  • std::string functions (C++20)
  • Array bounded/unbounded (C++20)
  • std::to_array (C++20)
  • 3-way comparisons (C++20)
  • Map contains (C++20)
  • Likely & unlikely attributes (C++20)
  • Calendar and time zone library (C++20)

Weitere Schulungen zu Thema C++ Programmierung

Plattformübergreifende Entwicklung mit Qt - Grundlagen

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

Die Klassenbibliothek Qt ist für die plattformübergreifende Anwendungsentwicklung mit C++ schon seit langem eine feste Größe, denn mit Qt können Anwendungen komfortabel für Windows, Linux, Mac und für verschiedene Embedded-Systeme entwickelt werden. Prominente Beispiele ...

C++ Einführung für C-Programmierer

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

Erfahrene C Programmierer erlernen in diesem Seminare den Umgang mit der objektorientierten Porgrammierung mit C++ - Das Ziel des Seminars ist es eigenständig Problemstellungen zu erkennen und daraus lauffähige Programme zu entwickeln. Zudem werden die Unterschiede zur ...

C++ Aufbau für Programmierer

- u.a. in Hannover, Hamburg, Köln, Düsseldorf, Virtual Classroom

Dieser Kurs richtet sich an alle, die bereits die Grundkenntnisse in der objektorientierten Programmierung mit C++ haben und objektorientierte Mechanismen und Möglichkeiten kennenlernen möchten. Es werden Kenntnisse über neue Klassen und Sprachfeatures vermittelt; das ...

Software Design mit Modernem C++

- u.a. in Stuttgart, Nürnberg, Düsseldorf, Mannheim, Freiburg

In dieser 3-tägigen Schulung "Software Design mit Modernem C++" lernen Sie die Prinzipien des guten Software-Designs mit der C++ Programmiersprache. Der Kurs konzentriert sich auf bewährte Software-Entwicklungskonzepte und -prinzipien spezifisch für C++. Sie werden lernen, ...