Eine Tour durch C++

Der praktische Leitfaden für modernes C++.Übersetzung der 3. Auflage

Bjarne Stroustrup

Cite this publication as

Bjarne Stroustrup, Eine Tour durch C++ (2023), mitp-Verlag, Frechen, ISBN: 9783747506264

1340
accesses
14
quotes

Description

Bjarne Stroustrup hat C++ entwickelt und die erste Implementierung geschrieben. Derzeit ist er Professor an der Columbia University und hat zuvor bei sowie bei gearbeitet. Dr. Stroustrup erhielt zahlreiche Auszeichnungen, unter anderem den für die Konzeptionierung und Entwicklung der Programmiersprache C++. Er ist Mitglied der und Fellow von , , und dem .

Description / Abstract




  • Die neuesten Sprachfeatures im Überblick


  • Verfasst vom Entwickler von C++


  • Übersetzung der 3. Auflage



Dieses Buch bietet erfahrenen Programmierern einen praktischen Überblick über C++20 nach ISO-Standard und damit ein klares Verständnis für den Einsatz von modernem C++. Anhand vieler Codebeispiele und hilfreicher Praxistipps wird ein Großteil der Hauptfeatures der Sprache sowie der Standardbibliothek behandelt, die für den effektiven Einsatz unverzichtbar sind.


Stroustrup stellt die einzelnen Sprachfeatures von C++ vor und zeigt, wie sie im Kontext der unterstützten Programmierstile eingesetzt werden, beispielsweise der objektorientierten oder generischen Programmierung. Seine Tour beginnt mit den Grundlagen und setzt den Fokus anschließend auf fortgeschrittene Techniken, wobei er insbesondere auf die neueren Sprach-features eingeht.


Dieses Buch deckt zahlreiche Features ab, die mit C++20 neu eingeführt wurden, darunter Module, Konzepte, Koroutinen und Bereiche. Selbst einige schon jetzt verfügbare Komponenten, die nicht vor C++23 in den Standard integriert werden sollen, werden vorgestellt.


Wenn Sie bereits Programmierkenntnisse in C++ oder einer anderen Sprache haben, ist dies die kompakteste und verständlichste Einführung, um die Besonderheiten und Vorteile von modernem C++ kennenzulernen.



Aus dem Inhalt

  • Die Grundlagen: Funktionen, Referenzen, Zeiger und mehr

  • Benutzerdefinierte Typen

  • Modularität

  • Fehlerbehandlung

  • Klassen

  • Operationen

  • Templates

  • Konzepte und generische Programmierung

  • Die Standardbibliothek

  • Strings und reguläre Ausdrücke

  • Streams

  • Algorithmen

  • Bereiche (Ranges)

  • Zeiger und Container

  • Utilities

  • Numerik

  • Nebenläufigkeit

  • Zahlreiche Ratschläge für die effektive Programmierung aus den »C++ Core Guidelines«


Table of content

  • Cover
  • Titel
  • Impressum
  • Inhaltsverzeichnis
  • Einleitung
  • Danksagungen
  • Über die Fachkorrektoren der deutschen Ausgabe
  • Kapitel 1: Die Grundlagen
  • 1.1 Einführung
  • 1.2 Programme
  • 1.3 Funktionen
  • 1.4 Typen, Variablen und Arithmetik
  • 1.5 Gültigkeitsbereich und Lebensdauer
  • 1.6 Konstanten
  • 1.7 Zeiger, Arrays und Referenzen
  • 1.8 Bedingungen prüfen
  • 1.9 Auf Hardware abbilden
  • 1.10 Ratschläge
  • Kapitel 2: Benutzerdefinierte Typen
  • 2.1 Einführung
  • 2.2 Strukturen
  • 2.3 Klassen
  • 2.4 Aufzählungen
  • 2.5 Unions
  • 2.6 Ratschläge
  • Kapitel 3: Modularität
  • 3.1 Einführung
  • 3.2 Separates Kompilieren
  • 3.3 Namensräume
  • 3.4 Funktionsargumente und Rückgabewerte
  • 3.5 Ratschläge
  • Kapitel 4: Fehlerbehandlung
  • 4.1 Einführung
  • 4.2 Exceptions
  • 4.3 Invarianten
  • 4.4 Alternativen für die Fehlerbehandlung
  • 4.5 Assertions
  • 4.6 Ratschläge
  • Kapitel 5: Klassen
  • 5.1 Einführung
  • 5.2 Konkrete Typen
  • 5.3 Abstrakte Typen
  • 5.4 Virtuelle Funktionen
  • 5.5 Klassenhierarchien
  • 5.6 Ratschläge
  • Kapitel 6: Notwendige Operationen
  • 6.1 Einführung
  • 6.2 Kopieren und Verschieben
  • 6.3 Ressourcenverwaltung
  • 6.4 Operatoren überladen
  • 6.5 Konventionelle Operationen
  • 6.6 Benutzerdefinierte Literale
  • 6.7 Ratschläge
  • Kapitel 7: Templates
  • 7.1 Einführung
  • 7.2 Parametrisierte Typen
  • 7.3 Parametrisierte Operationen
  • 7.4 Template-Mechanismen
  • 7.5 Ratschläge
  • Kapitel 8: Konzepte und generische Programmierung
  • 8.1 Einführung
  • 8.2 Konzepte
  • 8.3 Generische Programmierung
  • 8.4 Variadische Templates
  • 8.5 Modell der Template-Kompilierung
  • 8.6 Ratschläge
  • Kapitel 9: Überblick über die Bibliothek
  • 9.1 Einführung
  • 9.2 Komponenten der Standardbibliothek
  • 9.3 Organisation der Standardbibliothek
  • 9.4 Ratschläge
  • Kapitel 10: Strings und reguläre Ausdrücke
  • 10.1 Einführung
  • 10.2 Strings
  • 10.3 String-Views
  • 10.4 Reguläre Ausdrücke
  • 10.5 Ratschläge
  • Kapitel 11: Eingabe und Ausgabe
  • 11.1 Einführung
  • 11.2 Ausgabe
  • 11.3 Eingabe
  • 11.4 I/O-Status
  • 11.5 Ein-/Ausgabe benutzerdefinierter Typen
  • 11.6 Ausgabeformatierung
  • 11.7 Streams
  • 11.8 Ein-/Ausgaben im C-Stil
  • 11.9 Dateisystem
  • 11.10 Ratschläge
  • Kapitel 12: Container
  • 12.1 Einführung
  • 12.2 vector
  • 12.3 list
  • 12.4 forward_list
  • 12.5 map
  • 12.6 unordered_map
  • 12.7 Allokatoren
  • 12.8 Ein Überblick über Container
  • 12.9 Ratschläge
  • Kapitel 13: Algorithmen
  • 13.1 Einführung
  • 13.2 Verwendung von Iteratoren
  • 13.3 Iterator-Typen
  • 13.4 Verwendung von Prädikaten
  • 13.5 Überblick über Algorithmen
  • 13.6 Parallele Algorithmen
  • 13.7 Ratschläge
  • Kapitel 14: Bereiche (Ranges)
  • 14.1 Einführung
  • 14.2 Views
  • 14.3 Generatoren
  • 14.4 Pipelines
  • 14.5 Überblick über Konzepte
  • 14.6 Ratschläge
  • Kapitel 15: Zeiger und Container
  • 15.1 Einführung
  • 15.2 Zeiger
  • 15.3 Container
  • 15.4 Alternativen
  • 15.5 Ratschläge
  • Kapitel 16: Utilities
  • 16.1 Einführung
  • 16.2 Zeit
  • 16.3 Funktionsanpassung
  • 16.4 Typfunktionen
  • 16.5 source_location
  • 16.6 move() und forward()
  • 16.7 Bitmanipulation
  • 16.8 Ein Programm beenden
  • 16.9 Ratschläge
  • Kapitel 17: Numerik
  • 17.1 Einführung
  • 17.2 Mathematische Funktionen
  • 17.3 Numerische Algorithmen
  • 17.4 Komplexe Zahlen
  • 17.5 Zufallszahlen
  • 17.6 Vektorarithmetik
  • 17.7 Numerische Grenzen
  • 17.8 Typ-Aliasse
  • 17.9 Mathematische Konstanten
  • 17.10 Ratschläge
  • Kapitel 18: Nebenläufigkeit
  • 18.1 Einführung
  • 18.2 Tasks und thread
  • 18.3 Daten gemeinsam nutzen
  • 18.4 Warten auf Ereignisse
  • 18.5 Kommunizierende Tasks
  • 18.6 Koroutinen
  • 18.7 Ratschläge
  • Kapitel 19: Geschichte und Kompatibilität
  • 19.1 Geschichte
  • 19.2 Die Entwicklung der Merkmale von C++
  • 19.3 C/C++-Kompatibilität
  • 19.4 Ratschläge
  • Anhang A: module std
  • A.1 Einführung
  • A.2 Benutzen Sie, was Ihre Implementierung zu bieten hat
  • A.3 Benutzen Sie Header
  • A.4 Machen Sie sich Ihr eigenes module std
  • A.5 Ratschläge
  • Anhang B: Literaturverzeichnis
  • B.1 Literaturhinweise
  • Stichwortverzeichnis

More of this series

    Related titles

      More of this author(s)