- Dieses Training konzentriert sich auf die Erweiterungen von C++ ab C++11 über C++14, C++17 bis C++20.
- Aufgrund der Größe des C++-Standards haben wir für diese Schulung diejenigen Themen ausgewählt, die für die meisten C++-Entwickler/innen erforderlich sind, die dabei helfen, typische Fallstricke zuvermeiden, oder die als Best Practices bekannt sein sollten. Diese werden als obligatorischer Inhalt in jedem Fall in dem Training abgedeckt.
- In einer zweiten Kategorie (gruppiert wählbare Inhalte) listen wir unten diejenigen Themenblöcke auf, die je nach individuellen Bedürfnissen der Teilnehmenden priorisiert und für das Training ausgewählt werden können.
- Die dritte Kategorie (einzeln wählbare Inhalte) umfasst kleinere Elemente, zu denen Sie Fragen stellen können bzw. die in kleinen Beispielen – je nach Bedarf – erläutert werden können.
- Obligatorischer Inhalt (ca. 2 Tage)
- Lambdas und andere Callables
- RValue- und Forwarding-Referenzen
- Smart-Pointer
- Multithreading
- Metaprogrammierung
- Gruppiert wählbare Inhalte (Auswahl von einzelnen Themenblöcken nach Priorisierung durch die Teilnehmenden)
- Unterbibliotheken
std::chrono (C++11)
std::filesystem (C++17)
std::format (C++20)
std::ranges (C++20)
Klassen
std::array (C++11)
std::forward_list (C++11)
std::unordered::multimap (C++11)
std::unordered::multiset (C++11)
std::any (C++17)
std::byte (C++17)
std::optional (C++17)
std::span (C++17)
std::string_view (C++17)
Features
Auto type deduction (C++11 ff)
Attributes (C++11 ff)
constexpr, constinit, consteval (C++11, C++20)
Defaulted and deleted functions (C++11)
Initializer lists (C++11)
Modern enumerations (C++11, C++17, C++20)
nullptr (C++11)
Override and final (C++11)
Range-based for-loops (C++11)
User defined literals (C++11, C++14)
static_assert (C++11, C++14)
Type aliases with using (C++11)
Modules (C++20)
Concepts (C++20)
Coroutines (C++20)
Three-way and defaulted comparison (C++20)
Weitere wählbare Inhalte (Beantwortung von Fragen und Veranschaulichung an kleinen Beispielen je nach Interesse der Teilnehmenden)
Binary literals (C++14)
bit_operations (C++20)
Case statement with initializer (C++17)
Conditional noexcept (C++11)
Conditional explicit (C++20)
Shorthand contains for sets and maps (C++20)
Shorthand starts_with/ends_with for strings (C++20)
Converting constructors (C++11)
Delegating constructors (C++11)
Designated initializers (C++20)
Direct member initialization (C++11)
Explicit conversion functions (C++11)
Inline namespaces (C++11)
Inline variables (C++17)
math_constants (C++20)
Nested namespaces simplified (C++17)
Noexcept specifier (C++11)
Range based loop with initializer (C++20)
Raw string literals (C++11)
Reference qualified member functions (C++11)
Right angle bracket conflict resolved (C++11)
Specified encoding for string literals (C++11)
Splicing for sets and maps (C++17)
static_assert (C++11)
std::all_of, std::any_of, std::none_of (C++11)
std::bit_cast (C++20)
std::midpoint (C++20)
std::minmax (C++14)
std::to_array (C++20)
Structured bindings (C++17)
Synchronized buffered output stream (C++20)
Trailing return type syntax (C++11)
utf8 character literals (C++17)
HINWEIS: Die Kursunterlagen sind auf Englisch
Lernziele
Profitieren Sie von den vielen Ergänzungen, die C++ nach dem ISO/ANSI-Standard von 1998 erhielt. Verschaffen Sie sich einen Überblick über die zahlreichen großen, mittleren und kleineren Erweiterungen. In diesem Training können Sie diese in kleinen Demo-Programmen praktisch ausprobieren und deren Verwendung in mittelgroßen Programmen mit praktischem Nutzen vertiefen.
Zielgruppe
Dieser C++ Kurs richtet sich an erfahrene Software-Entwickler mit guten C++-Kenntnissen, welche ihr Know-how gezielt ausbauen wollen in Bezug auf die mit den ISO-Standards von 2011 und 2020 eingeführten Neuerungen im Bereich der Sprach-Syntax, der Standard-Bibliothek und der Template-Programmierung.
Voraussetzungen
Umfangreiche und durch entsprechende Praxis untermauerte Erfahrungen mit C++98. Hinweis: Dieses Training eignet sich NICHT zur Auffrischung von Grundkenntnissen oder seit längerer Zeit nicht (mehr) praktisch angewandter C++-Kenntnisse.
- Dieses Training konzentriert sich auf die Erweiterungen von C++ ab C++11 über C++14, C++17 bis C++20.
- Aufgrund der Größe des C++-Standards haben wir für diese Schulung diejenigen Themen ausgewählt, ...