1 option
Eine Tour durch C++ : Der praktische Leitfaden für modernes C++.Übersetzung der 3. Auflage.
- Format:
- Book
- Author/Creator:
- Stroustrup, Bjarne.
- Language:
- German
- Subjects (All):
- C++ (Computer program language).
- Physical Description:
- 1 online resource (422 pages)
- Edition:
- 1st ed.
- Place of Publication:
- Frechen : mitp, 2023.
- Summary:
- 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.
- Contents:
- Intro
- Impressum
- Einleitung
- Danksagungen
- Über die Fachkorrektoren der deutschen Ausgabe
- Kapitel 1: Die Grundlagen
- 1.1 Einführung
- 1.2 Programme
- 1.2.1 Hello, World!
- 1.3 Funktionen
- 1.4 Typen, Variablen und Arithmetik
- 1.4.1 Rechenoperatoren
- 1.4.2 Initialisierung
- 1.5 Gültigkeitsbereich und Lebensdauer
- 1.6 Konstanten
- 1.7 Zeiger, Arrays und Referenzen
- 1.7.1 Der Null-Pointer
- 1.8 Bedingungen prüfen
- 1.9 Auf Hardware abbilden
- 1.9.1 Zuweisung
- 1.9.2 Initialisierung
- 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.2.1 Header-Dateien
- 3.2.2 Module
- 3.3 Namensräume
- 3.4 Funktionsargumente und Rückgabewerte
- 3.4.1 Argumentübergabe
- 3.4.2 Werterückgabe
- 3.4.3 Rückgabetyp ableiten
- 3.4.4 Suffix-Rückgabetyp
- 3.4.5 Strukturierte Bindung
- 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.5.1 assert()
- 4.5.2 Statische Assertionen
- 4.5.3 noexcept
- 4.6 Ratschläge
- Kapitel 5: Klassen
- 5.1 Einführung
- 5.1.1 Klassen
- 5.2 Konkrete Typen
- 5.2.1 Ein arithmetischer Typ
- 5.2.2 Ein Container
- 5.2.3 Container initialisieren
- 5.3 Abstrakte Typen
- 5.4 Virtuelle Funktionen
- 5.5 Klassenhierarchien
- 5.5.1 Vorteile von Hierarchien
- 5.5.2 Die Navigation in einer Hierarchie
- 5.5.3 Ressourcenlecks vermeiden
- 5.6 Ratschläge
- Kapitel 6: Notwendige Operationen
- 6.1 Einführung
- 6.1.1 Notwendige Operationen
- 6.1.2 Konvertierungen
- 6.1.3 Member-Initialisierer
- 6.2 Kopieren und Verschieben
- 6.2.1 Container kopieren
- 6.2.2 Container verschieben.
- 6.3 Ressourcenverwaltung
- 6.4 Operatoren überladen
- 6.5 Konventionelle Operationen
- 6.5.1 Vergleiche (Relationale Operatoren)
- 6.5.2 Container-Operationen
- 6.5.3 Iteratoren und »smarte Zeiger«
- 6.5.4 Eingabe- und Ausgabeoperationen
- 6.5.5 swap()
- 6.5.6 hash<
- >
- 6.6 Benutzerdefinierte Literale
- 6.7 Ratschläge
- Kapitel 7: Templates
- 7.1 Einführung
- 7.2 Parametrisierte Typen
- 7.2.1 Beschränkte Template-Argumente
- 7.2.2 Wert-Template-Argumente
- 7.2.3 Deduktion von Template-Argumenten
- 7.3 Parametrisierte Operationen
- 7.3.1 Funktions-Templates
- 7.3.2 Funktionsobjekte
- 7.3.3 Lambda-Ausdrücke
- 7.4 Template-Mechanismen
- 7.4.1 Variablen-Templates
- 7.4.2 Aliasse
- 7.4.3 Compile-Zeit-if
- 7.5 Ratschläge
- Kapitel 8: Konzepte und generische Programmierung
- 8.1 Einführung
- 8.2 Konzepte
- 8.2.1 Verwendung von Konzepten
- 8.2.2 Konzeptbasiertes Überladen
- 8.2.3 Gültiger Code
- 8.2.4 Definition von Konzepten
- 8.2.5 Konzepte und auto
- 8.2.6 Konzepte und Typen
- 8.3 Generische Programmierung
- 8.3.1 Verwendung von Konzepten
- 8.3.2 Abstraktion mittels Templates
- 8.4 Variadische Templates
- 8.4.1 Fold-Ausdrücke
- 8.4.2 Argumente weitergeben
- 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.3.1 Namensräume
- 9.3.2 Der Namensraum ranges
- 9.3.3 Module
- 9.3.4 Header
- 9.4 Ratschläge
- Kapitel 10: Strings und reguläre Ausdrücke
- 10.1 Einführung
- 10.2 Strings
- 10.2.1 Die Implementierung von string
- 10.3 String-Views
- 10.4 Reguläre Ausdrücke
- 10.4.1 Suche
- 10.4.2 Notation regulärer Ausdrücke
- 10.4.3 Iteratoren
- 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.6.1 Stream-Formatierung
- 11.6.2 Formatierung im printf()-Stil
- 11.7 Streams
- 11.7.1 Standard-Streams
- 11.7.2 Datei-Streams
- 11.7.3 String-Streams
- 11.7.4 Speicher-Streams
- 11.7.5 Synchronisierte Streams
- 11.8 Ein-/Ausgaben im C-Stil
- 11.9 Dateisystem
- 11.9.1 Pfade
- 11.9.2 Dateien und Verzeichnisse
- 11.10 Ratschläge
- Kapitel 12: Container
- 12.1 Einführung
- 12.2 vector
- 12.2.1 Elemente
- 12.2.2 Bereichsüberprüfung
- 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.3.1 Stream-Iteratoren
- 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.5.1 Typkonzepte
- 14.5.2 Iterator-Konzepte
- 14.5.3 Bereichskonzepte
- 14.6 Ratschläge
- Kapitel 15: Zeiger und Container
- 15.1 Einführung
- 15.2 Zeiger
- 15.2.1 unique_ptr und shared_ptr
- 15.2.2 span
- 15.3 Container
- 15.3.1 array
- 15.3.2 bitset
- 15.3.3 pair
- 15.3.4 tuple
- 15.4 Alternativen
- 15.4.1 variant
- 15.4.2 optional
- 15.4.3 any
- 15.5 Ratschläge
- Kapitel 16: Utilities
- 16.1 Einführung
- 16.2 Zeit
- 16.2.1 Uhren
- 16.2.2 Kalender
- 16.2.3 Zeitzonen
- 16.3 Funktionsanpassung
- 16.3.1 Lambdas als Adapter
- 16.3.2 mem_fn()
- 16.3.3 function
- 16.4 Typfunktionen
- 16.4.1 Typprädikate
- 16.4.2 Bedingte Eigenschaften
- 16.4.3 Typgeneratoren
- 16.4.4 Assoziierte Typen
- 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.3.1 Parallele 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.2.1 Argumente übergeben
- 18.2.2 Ergebnisse zurückgeben
- 18.3 Daten gemeinsam nutzen
- 18.3.1 mutexe und Locks
- 18.3.2 atomic
- 18.4 Warten auf Ereignisse
- 18.5 Kommunizierende Tasks
- 18.5.1 future und promise
- 18.5.2 packaged_task
- 18.5.3 async()
- 18.5.4 Einen Thread stoppen
- 18.6 Koroutinen
- 18.6.1 Kooperatives Multitasking
- 18.7 Ratschläge
- Kapitel 19: Geschichte und Kompatibilität
- 19.1 Geschichte
- 19.1.1 Chronik
- 19.1.2 Die frühen Jahre
- 19.1.3 Die ISO-C++-Standards
- 19.1.4 Standards und Stil
- 19.1.5 Verwendung von C++
- 19.1.6 Das C++-Modell
- 19.2 Die Entwicklung der Merkmale von C++
- 19.2.1 Sprachmerkmale von C++11
- 19.2.2 Sprachmerkmale von C++14
- 19.2.3 Sprachmerkmale von C++17
- 19.2.4 Sprachmerkmale von C++20
- 19.2.5 Komponenten der C++11-Standardbibliothek
- 19.2.6 Komponenten der C++14-Standardbibliothek
- 19.2.7 Komponenten der C++17-Standardbibliothek
- 19.2.8 Komponenten der C++20-Standardbibliothek
- 19.2.9 Entfernte und veraltete Funktionsmerkmale
- 19.3 C/C++-Kompatibilität
- 19.3.1 C und C++ sind Geschwister
- 19.3.2 Kompatibilitätsprobleme
- 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.
- Notes:
- Description based on publisher supplied metadata and other sources.
- ISBN:
- 9783747506271
- 3747506275
- OCLC:
- 1390093504
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.