40 Punkte von GN⁺ 2023-11-29 | 1 Kommentare | Auf WhatsApp teilen
  • 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

 
GN⁺ 2023-11-29
Hacker-News-Kommentare
  • Der Urheber dieses Kurses ist Teamleiter bei NVIDIA und ein leitender Softwareingenieur für CUDA cuSPARSE

    • Angesichts der Verbindung des Kurserstellers zu NVIDIA und CUDA könnte diese Erfahrung für Menschen hilfreich sein, die bereits gut in C++ sind.
  • Mit ChatGPTv4 große Erfolge beim Schreiben von CUDA-kompatiblem modernem C++-Code erzielt

    • ChatGPTv4 kann dabei helfen, Rust-Code in modernes C++ umzuwandeln, das mit dem aktuellen nvcc-CUDA-Compiler kompatibel ist.
    • Während der Umwandlung kann es Sprachunterschiede erklären und die Verwendung von 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

    • Neuere C++-Versionen sind gut genug für den Einsatz, aber die Unicode-Unterstützung ist umständlich und sollte verbessert werden.
  • Als Embedded-Entwickler auf der Suche nach gutem Material, um mit dem Lernen von C++ zu beginnen

    • Jemand mit Erfahrung in der Embedded-Entwicklung sucht nach Lernmaterial für C++, um zu anspruchsvolleren Aufgaben überzugehen.
    • Es gibt Kurse in verschiedenen Preisklassen, aber die Auswahl eines passenden Kurses für komplexe Situationen fällt schwer.
  • Fragt, ob jemand diesen Kurs mit learncpp.com vergleichen kann

    • Es wird nach Einschätzungen zum Nutzen dieses Kurses im Vergleich zur Website learncpp.com gefragt.
  • Geeignet, um vergessenes C-Wissen aus der Studienzeit wieder aufzufrischen, aber es braucht mehr echte Programmierpraxis

    • Es wird die Meinung geäußert, dass Lernen durch echte Programmierpraxis theoretischem Lernen vorzuziehen ist.
  • Nur mit Folien zu lernen erscheint schwierig

    • Es wird kritisiert, dass Lernen nur über Folien ineffektiv sei, und eine andere Lernmethode bevorzugt.
  • Smart Pointer sollten in C++ nicht als „fortgeschrittenes Thema“ gelten

    • Da Smart Pointer die beste Methode für Speicherverwaltung sind, wird betont, dass auch Anfänger sie lernen sollten.
    • Das Verständnis von new und delete ist ebenfalls wichtig, aber in der Praxis ist die Verwendung von unique_ptr oder shared_ptr vorzuziehen.
  • Es wird bezweifelt, ob man in modernem C++ überhaupt new/delete verwenden sollte

    • Ein C++-Einsteiger stellt die Notwendigkeit der Schlüsselwörter new und delete in modernem C++ infrage.
  • Bittet um eine Erklärung, wie der Abschnitt zu den Konvertierungsregeln zu lesen ist

    • Da die Notation im Abschnitt zu den Konvertierungsregeln ungewohnt ist, wird um Hilfe gebeten und nach einer zusätzlichen Erklärung dieses Teils gesucht.