cppmod2023W21
Modernes C++ 22. bis 25. Mai 2023 für Microconsult - München
Während der Schulung verwendete Unterlagen:
"Modernes C++" (so wie für die ersten Umsteiger-Schulungen für C++11 erstellt und mit der Zeit nach und nach auf C++14 und C++17 erweitert, darin auch zahlreiche Links auf Test- und Demo-Programme mit Online-Compiler "CoLiRu"):
- HTML-Version ("live" = wird ggf. auch während der Schulung angepasst)
https://tbfe.de/wetrain/G/Cplusplus_11_14_17_4days - PDF-Version (Stand bei Ende der Schulung 2023-05-26)
TBD
"C++ Multi-Threading" (so wie auf Nachfrage der Teilnehmer in vergangenen Schulungen aus dem vorherigen ausgegliedert und erweitert):
- HTML-Version ("live" = wird ggf. auch während der Schulung angepasst)
https://tbfe.de/wetrain/G/Cplusplus_Concurrency_Basics_2hours - PDF-Version (Stand bei Ende der Schulung 2023-05-26)
TBD
"C++ Advanced Template Programming" (Kompaktversion/Auszüge aus einer mehrtägigen Schulung für einen Inhouse-Kurs):
- HTML-Version (wird ggf. auch während der Schulung angepasst)
https://tbfe.de/wetrain/G/More_About_Cplusplus_Templates_6hours/template-cplusplus.html - PDF-Version (Stand bei Ende der Schulung 2023-05-26)
TBD
README zu einem GitHub-Projekt (Autor Anthony Calandra) sowie einem darauf basierenden Spreadsheet (Autor Martin Weitzel):
- gegegliederte Übersicht zu Features die C++ zwischen 2011 und 2020 hinzugefügt wurden
https://github.com/AnthonyCalandra/modern-cpp-features - Auswertung der Teilnehmerwünsche in der Schulung 2023 KW21:
https://docs.google.com/spreadsheets/d/1ksBk1D-jUXnC4iypH_CJaVACs7DF4Oxq7xwrhd5pxWI/edit?usp=sharing
Source Code außerhalb von Online-Compilern
(bei Interesse bitte BALD KOPIEREN oder falls Links nicht mehr funtioieren nochmal nachfragen)
- ZIP-File mit vielen Beispiel-Programmen zu "Modernem C++"
https://drive.google.com/file/d/1qjFhswSC2sDzqteau5F-1a4AE3sNLeGp/view?usp=sharing - Aufgabe zu Smart-Pointern
https://drive.google.com/file/d/1OFVPJSy_PQowNIdo37rgataTRNtPTyZp/view?usp=drive_link
Anrworten zu spezifischen Fragen:
- Polymorphic Allocator (Sinn und Zweck)
https://stackoverflow.com/questions/38010544/polymorphic-allocator-when-and-why-should-i-use-it
Ergänzende Links zu Live-Demos mit Online-Compiler
- ...
http://coliru.stacked-crooked.com/a/362a2005f544e906 - ...
http://coliru.stacked-crooked.com/a/a80936ad489bd6ab - Compiler-Explore strips "/app/" in front of every line from output
https://godbolt.org/z/4dozPqcYn - explicit operator bool
https://godbolt.org/z/ajzYcxxKc - deprecated implicit capture of `this` with '=' in capture list
and (unrelated) C++20 nested namespaces
https://godbolt.org/z/zYa6rW5ax
Aktuelle Links: https://drive.google.com/file/d/17usvaMlXLk-cbkwSwKGJI4Cbc3aAWHaW/view?usp=sharing
std::ranges wahrscheinlich neues Thema am Ende des Kurses
make-shared zurückgestellt zur Behandlung von Smartpointern
evtl. auch gutes Beispiel für "Perfect-Forwarding"
std::ref mitbehandeln bei std::bind (dieses aber nur kurs als Alternative zum deutlich mächtigeren Lambda)