Modernes C++ programmieren

C++ 2023

C++ – Das umfassende Handbuch (2023)

C++ – Das umfassende Handbuch zu modernem C++, Ausgabe von 2023.

Cover

C++ bietet immer wieder moderne Features, die neue Arbeitsweisen und Idiome ermöglichen. Viele Quellen im Internet lehnen sich an den C-artigen Stil an, der jedoch wenig mit den Möglichkeiten des modernen C++ zu tun hat: RAII, Concepts, Modules, Coroutinen und Ranges. Dieses Buch zeigt Ihnen die Stärken von C++ auf, insbesondere dort, wo C++ anderen Sprachen voraus ist.

Diese Auflage basiert auf einem Compiler, der C++17 vollständig unterstützt. Auch C++20 wird von allen verbreiteten Compilern unterstützt, und C++23-Features werden besonders hervorgehoben, da die Compiler-Unterstützung hier noch nicht vollumfänglich ist.

Einige C++17-Features, die in den Listings verwendet werden, sind:

  • Template-Parameter-Deduktion: vector<int> data{1,2,3} statt vector data{1,2,3}
  • string_view: Verwenden Sie const string& statt string_view
  • Abgekürzte Funktionstemplates: auto in Funktionsparametern

KI-Tools unterstützen bei der täglichen Arbeit, aber bleiben Sie skeptisch bei den Antworten, die sie geben. Diese Werkzeuge plappern oft unreflektiert nach, was das Internet hergibt, und das kann gefährlich sein. Ein Vortrag von Andrei Alexandrescu zeigt, dass KI-Tools uns immer mehr unterstützen werden, aber wir müssen wachsam bleiben.

KI-Tools unterstützen bei der täglichen Arbeit, aber bleiben Sie skeptisch bei den Antworten, die sie geben. Diese Werkzeuge plappern oft unreflektiert nach, was das Internet hergibt, und das kann gefährlich sein. Ein Vortrag von Andrei Alexandrescu zeigt, dass KI-Tools uns immer mehr unterstützen werden, aber wir müssen wachsam bleiben.

Diese Tools können ein wertvolles Hilfsmittel sein, aber sie sind kein Ersatz für menschliches Urteilsvermögen und Fachwissen. Entwickler sollten diese Werkzeuge mit Vorsicht und kritischem Denken einsetzen und sich der Grenzen und Risiken bewusst sein. Nur so können sie die Vorteile der KI-Technologie nutzen, ohne die Qualität und Integrität ihrer Arbeit zu gefährden.

Viel Spaß mit diesem Buch!

Listings

Beispielcode finden Sie zum Download beim Verlag. Die abgedruckten Listings können Sie sich hier ansehen.

Errata

Hier werden wichtige Errata zum Buch gepflegt.

Seite 45
Manche Distros benötigen mehr Pakete. Daher zusätzlich zu sudo apt install gcc g++ die Befehle sudo apt update ; sudo apt install build-essential (bei Problemen).
Seite 48
Das Listing passt nciht zum Text. Entweder statt Die wievielte Fibonacci-Zahl? 33 korrekt Die wievielte Fibonacci-Zahl? 34, oder statt fib(33) = 5702887 korrekt fib(33) = 3524578.
Seite 152
Statt UTF-18 ist natürlich UTF-16 gemeint.
Seite 153
Der Buchstabe heißt nicht Asha sondern Ahsa.
Seite 246
Der Vergleich n < 0 sollte hier nicht verwendet werden, denn er verlässt sich auf die Überlauf-Implementierung. Stattdessen zum Beispiel if (n > std::numeric_limits<int>::max()/2).
Seite 566
“Dann setzen Sie new ein, um das Objekt auf dem Stack Heap zu erzeugen.”