C++ für Fortgeschrittene

MicroConsult GmbH
Starttermine
München
2.400 EUR
12.09.2022

München
2.400 EUR
12.12.2022

München
2.400 EUR
20.02.2023

Beschreibung

C++ für Fortgeschrittene

Ziel

Sie wenden Templates und Exceptions effizient an. Sie haben fundierte Kenntnisse der Standard Template Library (STL). Sie realisieren fortgeschrittene objektorientierte Konzepte und Designs mit C++, auch zusammen mit C++ Multithreading. Sie sind in der Lage, bestehende und neue Applikationen in Bezug auf Performance und Verbrauchsverhalten zu optimieren.

Möchten Sie mehr über diese Weiterbildung erfahren?

Inhalte / Module

Themeneinleitung

  • Historie zu C++
  • Prinzipielle Compiler-Funktionalität
  • Praxistipps: Wertvolle Links im Internet

Kurze Zusammenfassung der C++ Grundlagen

  • Variablen-Kategorien, Typen, Alignment
  • Klassen und Objekte
  • Konstruktor-Arten und Destruktor
  • Operatoren mit Überladung
  • Funktionszeiger in Klassen
  • Strings und Streams
  • Klassenrelationen: Assoziation, Selbst-Assoziation, Aggregation, Komposition, Vererbung, Mehrfachvererbung und Alternativen
  • Interface-Konzept mit rein virtuellen Funktionen
  • Neue Features der aktuellen Standards
  • Übung: Sie verstehen die vorgegebene SW-Architektur und lernen dabei das Builder-Pattern kennen, implementieren Klassen, Komposition und Vererbung und testen diese automatisiert nach dem TDD-Vorgehen (Test Driven Development).
  • Dabei berücksichtigen Sie Qualitätsaspekte wie objektorientierte Programmierung, Modularisierung, Wiederverwendbarkeit und Erweiterbarkeit

Exceptions

  • Erläuterung und Programmierung Exception Handling
  • Exception-Klassen und -Hierarchien
  • Benutzer-Exceptions
  • C++ Standard-Exceptions
  • Praxistipps: Konzepte, Richtlinien
  • Übung: Sie erweitern die Übungsapplikation um flexible Ausnahmebehandlung mit Exceptions

New Style Casts

  • Static, dynamic, const und reinterpret Cast
  • Die richtige Wahl beim Einsatz
  • Bezug zu RTTI und Exception Handling

Runtime Type Information (RTTI)

  • Erläuterung und Programmierung von RTTI
  • Klasse type_info
  • Verwendungsmöglichkeiten und Konsequenzen beim Einsatz

Lamda-Funktionen

  • Syntax und Anwendung
  • Closures
  • std::function
  • Binden von Parametern

Speichermanagement

  • Speichersegmente (BSS Block Started by Symbol, Heap, Stack)
  • Vergleich und Bewertung der Datensegmente
  • Dynamisches Speichermanagement mit new und delete
  • Überladen (lokal und global) von new und delete
  • Algorithmen
  • Virtueller Destruktor
  • Placement new
  • Bezug zu Exception Handling
  • Smart Pointer: unique_ptr, shared_ptr, weak_ptr
  • Casten von Smart-Pointern
  • Praxistipps: Risiken erkennen und Stolpersteine vermeiden

Template-Funktionen und Template-Klassen

  • Prinzipielle Funktionsweise
  • Template-Funktionen, Template-Klassen und deren Anwendung
  • Beispiele für Template-Klassen
  • Vererbung und Interfaces mit Template-Klassen
  • Container/Algorithmen im STL-Stil
  • Laufzeit- vs. Compilezeit-Polymorphismus
  • Type-Traits
  • Perfect Forwarding mit Templates
  • Variadic Template-Funktionen und Template-Klassen
  • Alias-Templates
  • Praxisbeispiele für Template-Klassen
  • Übung: Sie wenden das Observer-Pattern im Design der Applikation an und implementieren es basierend auf einer containerartigen eigenen Template-Klasse

STL Standard Template Library

  • Container, Container-Adapter
  • Iteratoren
  • Algorithmen, Funktionsobjekte
  • Speicher-Allocator-Klasse
  • Praxistipp: Übersicht über alle STL-Containerelemente und deren Zusammenhänge
  • Übung: Sie wenden das Observer-Pattern im Design der Applikation an und implementieren es basierend auf einer STL-Container-Klasse

Multithreading und Atomic-Datentypen

  • Multithreading-Grundkonzepte
  • Threads, Mutex, Condition Variable, Future
  • Anwendung der Mechanismen
  • Übung: Sie adaptieren die Applikation an einen Timer und steuern sie über einen Thread. Dabei nutzen Sie mit ihren Vorteilen eine zusätzliche Betriebssystem-Abstraktion mit Wrapper-Klassen.

Typische Fallstricke und verbreitete Idiome (PIMPL, RAII, NVI, ...)

  • RAII (Resource Acquisition Is Initialization), Ressourcen-Wrapper
  • NVI (Non-virtual Interfaces)
  • PIMPL (Pointer to Implementation)
  • Handling Self-Assignment in Assignment Operator
  • Praxistipps zu weiteren C++ Idiomen

Übungen im C++ Kurs für Fortgeschrittene

  • Für die Implementierung der durchgängigen Übung (Uhrenapplikation) verwenden Sie das Microsoft Visual Studio.

MicroConsult Plus:

  • Als Teilnehmer haben Sie die folgenden Möglichkeiten, um Ihre Übungen und die von MicroConsult entwickelten Lösungen aus dem Workshop mitzunehmen:
  • Sie nehmen die Dateien direkt auf einem von MicroConsult bereitgestellten kostenfreien USB-Stick mit, oder …
  • Sie senden sich die Dateien selbst per E-Mail zu, oder …
  • Sie erhalten auf Anfrage Zugriff auf die Dateien per Download.
  • Sie erhalten den C++ Programmcode sowie das UML-Modell der Uhrenapplikation.
  • Sie bekommen alle C++ Beispiele in elektronischer Form und können diese sehr einfach für Ihr Entwicklungsenvironment anpassen.
  • Sie bekommen eine hilfreiche Notationsübersicht für UML (Unified Modeling Language) im A3 Format.

Zielgruppe / Voraussetzungen

Der C++ Kurs für Fortgeschrittene richtet sich an Programmierer, Software-Entwickler, Software-Designer und Software-Architekten.

Abschlussqualifikation / Zertifikat

Teilnahmezertifikat

Infos anfordern

Kontaktieren Sie hier den Anbieter, um mehr über das Kursangebot C++ für Fortgeschrittene zu erfahren!

  Sie erhalten weitere Infos

  Unverbindlich

  Kostenfrei

Kontaktinformation MicroConsult GmbH

MicroConsult GmbH

Charles-de-Gaulle-Str. 6
81737 München

 Telefonnummer anzeigen
www.microconsult.de

MicroConsult GmbH

MicroConsult GmbH

Experience Embedded - Die in München ansässige MicroConsult GmbH unterstützt Embedded-Ingenieure mit bewährten Entwicklungsmethoden und praxisnahem Wissen beim kosten- und termingerechten Abschluss ihrer Projekte. Das breite Beratungs- - und Trainingsangebot zu Tools, Methoden und Technologien für Embedded Entwickler sowie zu...


Erfahren Sie mehr über MicroConsult GmbH und weitere Kurse des Anbieters.

IT-Weiterbildung leicht gemacht

IT-Weiterbildung leicht gemacht

Virtuelle Workshops und IT-Fachtrainings von Experten für Profis. 

Alle Kurse im Überblick anzeigen

Newsletter abonnieren

Newsletter abonnierenMelde dich für unseren Newsletter an und erhalte die neuesten Informationen rund um die IT-Karriere.

Zur Anmeldung

Individuelle Firmenkurse anfragen

Individuelle Firmenkurse anfragenSie suchen nach einem individuellen Angebot für Ihre Firma?

Kontaktieren Sie uns

Coaching für deine IT-Karriere

Coaching für deine IT-KarriereGolem Shifoo ist deine Coachinglösung, um dich bei allen Themen rund um deine Karriere –und Berufsentwicklung von erfahrenen IT-Coaches unterstützen zu lassen.

Zu den Coachinglösungen

IT-Karriere-Ratgeber

IT-Karriere-RatgeberInfos, Tipps und Beiträge rund um die IT-Karriere

Zum Ratgeber