Modernes C++

Kursbeschreibung

C++ wurde 1979 von Bjarne Soustroup entwickelt. Das ist mittlerweile 38 Jahre her! Erstmals gab es dann 1998 eine Standardisierung, also erst nach über 21 Jahren in denen überhaupt nichts geschehen ist. Das, was nun in diesem 2 Tages-Kurs als “modernes C++” enthalten ist, stammt aus den neuen Standards C++ 11, 14 und 17. Es ist damit zu rechnen, dass in den folgenden Jahren immer schneller immer mehr Neuerungen Eingang in diese altbewährte Programmiersprache finden. Für einen Software Entwickler, der von Anfang an mit dieser Sprache gearbeitet hat, hat es den Anschein, dass mit schon fast panischer Hektik versucht wird, den Anschluss an die moderneren OOP Sprachen wie C# und Java herzustellen, um so an deren enormen Erfolg anknüpfen zu können. Die Neuerungen sollen insbesondere dem Entwickler-Nachwuchs einen einfacheren (und sichereren) Einstieg in C++ ermöglichen in dem viele altbekannte „Fallstricke“ und “Probleme” von C++ entschärft oder beseitigt wurden und auch syntaktisch mehr an die neuen Sprachen annähern. Die meisten Neuerungen stammen aus dem Sprachstandard C++ 11, der C++ 14 Standard beinhaltet hauptsächlich Nachbesserungen zu C++11 und hat weniger grundlegend Neues beigetragen. C++ 17 ist zum derzeitigen Zeitpunkt noch nicht freigegeben, wir aber im Kurs behandelt. Und: Der alte Standard C++98 bleibt weiterhin gültig! (Klar, sonst würde keine alte Software mehr funktionieren und diese zu portieren, wäre nicht zumutbar) Themen sind (Auszug): - auto type - trailing type definition mit decltype - nullptr stat NULL - Strongly typed enums - using statt typedef - C++ 11 deleted methods und Alternativen: _declspec(deprecated), C++ 14 [[deprecated]] Attribut - unused method parameters zur Verhinderung von Warnings - default implementierung durch den Compiler (Standard- und Copy Konstruktor, Zuweisungs Operator etc.) - Move Semantik, Rvalue Thematik, std::move - Move Konstruktor - absolute References - Neue Features in der Initialisierung von Eigenschaften, z.B. Arrays in Initialisierungslisten - lambdas - Neue C++ Algorithmen, Container und Funktionen in der std library - Smart pointers, shared_ptr, unique_ptr - Constexpr - Multithreading mit Standardlibrary, std::thread, std::Mutex, Concurrency API - Variadic templates - static_assert - Aliasdeklarationen statt typedef - enums mit Gültigkeitsbereich - override funktionen - universelle und rvalue Referenzen - Reference Collapsing - perfect forwarding

de

1

Zielgruppe

Systemdesigner und Entwickler Gute bis sehr gute Kenntnisse in C++

Termine

FlexyTrain: Unsere Flexibilität – Ihr Plus

Keinen passenden Termin gefunden? Kein Problem: Bei der Planung unserer Kurstermine bieten wir Ihnen ein Höchstmaß an Flexibilität. Im Klartext: Gemeinsam mit Ihnen finden wir einen geeigneten Termin. Sprechen Sie uns an!