Kurs für modernes C++-Programmieren
(github.com/federico-busato)- Dieser Kurs richtet sich an Personen, die bereits mit C und objektorientierter Programmierung vertraut sind, und hat das Ziel, die Fertigkeiten in der C++-Programmierung zu vertiefen.
- Behandelt werden Themen von den Grundlagen der C++-Programmierung bis hin zu fortgeschrittener C++-Semantik und entsprechenden Konzepten.
- Er ist kostenlos, wird häufig aktualisiert, umfasst Konzepte und Funktionen der neuesten Sprachstandards und verfolgt einen praxisorientierten Lehransatz.
Hauptinhalte der einzelnen Kapitel
- Grundkonzepte : Erläuterungen zu grundlegenden Typen, Operatoren, Umwandlungsregeln, Speicherverwaltung, Funktionen und Präprozessor in C++.
- Objektorientierte Programmierung : Verständnis von Klassenkonzepten, Vererbung, Polymorphismus und Operatorüberladung.
- Templates und Metaprogrammierung : Vertiefte Behandlung von Funktions- und Klassentemplates, Compile-Time-Utilities und SFINAE.
- Übersetzungseinheiten : Erläuterungen zu Linkage, der One Definition Rule und Methoden zum Umgang mit mehreren Übersetzungseinheiten.
- Code-Konventionen : Hinweise zur Projektorganisation und zu wichtigen Coding Conventions.
- Ökosystem : Informationen zu Debugging, Tests, Cmake, Dokumentation und weiteren Tools.
- Utilities : Überblick über wichtige
std-Bibliotheken, Container, Iteratoren und Algorithmen. - Fortgeschrittene Themen : Vertiefung zu Move-Semantik, Typinferenz, Smart Pointers und Concurrency.
- Optimierung : Strategien zu Grundkonzepten, Code-Optimierung, nicht auf Code bezogener Optimierung und Benchmarking.
Meinung von GN⁺
Dieser Kurs deckt alle Aspekte der C++-Programmierung einschließlich der neuesten Standards ab und ist damit eine unverzichtbare Ressource für angehende Softwareingenieure auf dem Weg zum Expertenniveau. Der erfahrungsbasierte Ansatz mit Praxisbeispielen vermittelt Lernenden anwendbares Wissen, das für die Verbesserung ihrer Programmierfähigkeiten äußerst nützlich ist.
1 Kommentare
Hacker-News-Kommentare
Der Urheber dieses Kurses ist Teamleiter bei NVIDIA und ein leitender Softwareingenieur für CUDA cuSPARSE
Mit ChatGPTv4 große Erfolge beim Schreiben von CUDA-kompatiblem modernem C++-Code erzielt
std::*empfehlen, um flexibleren Code zu schreiben.Nach einer langen Pause zu C++ zurückgekehrt; neuere Versionen wie C++17 sind gut genug, aber die Unicode-Unterstützung ist enttäuschend
Als Embedded-Entwickler auf der Suche nach gutem Material, um mit dem Lernen von C++ zu beginnen
Fragt, ob jemand diesen Kurs mit learncpp.com vergleichen kann
Geeignet, um vergessenes C-Wissen aus der Studienzeit wieder aufzufrischen, aber es braucht mehr echte Programmierpraxis
Nur mit Folien zu lernen erscheint schwierig
Smart Pointer sollten in C++ nicht als „fortgeschrittenes Thema“ gelten
newunddeleteist ebenfalls wichtig, aber in der Praxis ist die Verwendung vonunique_ptrodershared_ptrvorzuziehen.Es wird bezweifelt, ob man in modernem C++ überhaupt
new/deleteverwenden solltenewunddeletein modernem C++ infrage.Bittet um eine Erklärung, wie der Abschnitt zu den Konvertierungsregeln zu lesen ist