C++-Standardbibliothek - kurz & gut (eBook)
224 Seiten
O'Reilly Verlag
978-3-95561-969-5 (ISBN)
Rainer Grimm ist als Softwareentwickler und Schulungsleiter tätig. In den letzten Jahren hat er viele Präsenz- und Online-Schulungen zu Python und C++ gehalten, parallel dazu schreibt er gerne Artikel oder rezensiert ein gutes Buch für Fachzeitschriften. Seine Artikelserie zu modernem C++ erscheint seit mehreren Jahren. In seinen vielen Vorträgen behandelt er die Themen Design Patterns sowie objektorientierte, generische und funktionale Programmierung und deren Umsetzung in den etablierten Programmiersprachen. Aktuell bringt er seine alte Leidenschaft als Krankenpfleger und Rettungssanitäter mit seiner neuen Leidenschaft für Softwareentwicklung in der Embedded World zusammen. Als Softwarearchitekt und Gruppenleiter ist er für Defibrillatoren verantwortlich. Privat läuft er immer häufiger hinterher, denn als erfolgreicher Lauftrainer des TV-Rottenburg kennen seine Schüler keine Gnade.
Rainer Grimm ist als Softwareentwickler und Schulungsleiter tätig. In den letzten Jahren hat er viele Präsenz- und Online-Schulungen zu Python und C++ gehalten, parallel dazu schreibt er gerne Artikel oder rezensiert ein gutes Buch für Fachzeitschriften. Seine Artikelserie zu modernem C++ erscheint seit mehreren Jahren. In seinen vielen Vorträgen behandelt er die Themen Design Patterns sowie objektorientierte, generische und funktionale Programmierung und deren Umsetzung in den etablierten Programmiersprachen. Aktuell bringt er seine alte Leidenschaft als Krankenpfleger und Rettungssanitäter mit seiner neuen Leidenschaft für Softwareentwicklung in der Embedded World zusammen. Als Softwarearchitekt und Gruppenleiter ist er für Defibrillatoren verantwortlich. Privat läuft er immer häufiger hinterher, denn als erfolgreicher Lauftrainer des TV-Rottenburg kennen seine Schüler keine Gnade.
C++-Standardbibliothek 3
Inhalt 5
Kapitel 1 – Einführung 9
Konventionen 10
Typografie 10
Quellcode 10
Wert versus Objekt 11
Index 11
Danksagungen 11
C++ versus C++11 11
Kapitel 2 – Die Standardbibliothek 13
Die Chronologie 13
Überblick 14
Praktische Werkzeuge 14
Die Standard Template Library 15
Numerik 18
Textverarbeitung 18
Ein- und Ausgabe 19
Multithreading 19
Bibliotheken verwenden 20
Header-Dateien einbinden 20
Namensräume verwenden 21
Namen qualifiziert verwenden 21
Ein ausführbares Programm erzeugen 24
Kapitel 3 – Praktische Werkzeuge 25
Praktische Funktionen 25
std::min, std::max und std::minmax 25
std::move 27
std::forward 28
std::swap 29
Adaptoren für Funktionen 29
std::bind 30
std::function 30
Paare 31
Tupel 32
Referenz-Wrapper 34
Smart Pointer 35
std::unique_ptr 37
std::shared_ptr 40
std::weak_ptr 43
Zyklische Referenzen 44
Type-Traits 45
Typeigenschaften abfragen 46
Typen vergleichen 49
Typen modifizieren 50
Zeitbibliothek 51
Zeitpunkt 52
Zeitdauer 53
Zeitgeber 54
Kapitel 4 – Gemeinsamkeiten der Container 57
Erzeugen und Löschen 58
Größe bestimmen 59
Zugriff auf die Elemente 60
Zuweisen und Tauschen 62
Vergleiche 63
Kapitel 5 – Sequenzielle Container 65
Arrays 67
Vektoren 68
Deque 70
Listen 71
Einfach verkettete Listen 73
Kapitel 6 – Assoziative Container 77
Überblick 77
Geordnete assoziative Container 79
Überblick 79
Schlüssel und Wert 80
Das Vergleichskriterium 80
Besondere Suchfunktionen 81
Einfügen und Löschen von Elementen 82
std::map 83
Ungeordnete assoziative Container 84
Überblick 85
Schlüssel und Wert 85
Performance 86
Die Hashfunktion 86
Die Details 88
Kapitel 7 – Adaptoren für Container 91
Stack 91
Queue 92
Priority Queue 93
Kapitel 8 – Iteratoren 95
Kategorien 96
Iteratoren erzeugen 97
Nützliche Funktionen 98
Adaptoren 100
Einfügeiteratoren 100
Stream-Iteratoren 101
Kapitel 9 – Aufrufbare Einheiten 103
Funktionen 103
Funktionsobjekte 104
Vordefinierte Funktionsobjekte 104
Lambda-Funktionen 105
Kapitel 10 – Algorithmen 107
Konventionen für Algorithmen 108
Iteratoren als Bindeglied 109
for::each 109
Nicht modifizierende Algorithmen 110
Elemente suchen 110
Elemente zählen 112
Bedingungen auf Bereichen testen 112
Bereiche vergleichen 113
Bereiche in Bereichen suchen 114
Modifizierende Algorithmen 116
Elemente und Bereiche kopieren 116
Elemente und Bereiche ersetzen 117
Elemente und Bereiche entfernen 118
Bereiche füllen und erzeugen 119
Bereiche verschieben 120
Bereiche vertauschen 121
Bereiche transformieren 122
Bereiche umdrehen 123
Bereiche rotieren 123
Bereiche zufällig neu ordnen 124
Duplikate entfernen 125
Partitionierungen 126
Sortieren 128
Binäres Suchen 130
Merge-Operationen 132
Heap 134
Min und Max 136
Permutationen 137
Numerik 138
Kapitel 11 – Numerik 141
Zufallszahlen 141
Zufallszahlenerzeuger 141
Zufallszahlenverteilung 142
Numerische Funktionen von C 145
Kapitel 12 – Strings 147
Erzeugen und Löschen 148
Konvertierungen zwischen C++-Strings und C-Strings 150
size versus capacity 151
Vergleiche 152
Stringkonkatenation 152
Elementzugriff 153
Ein- und Ausgabe 154
Suchen 155
Modifizierende Operationen 157
Numerische Konvertierungen 159
Kapitel 13 – Reguläre Ausdrücke 163
Zeichentypen 164
Reguläre-Ausdrücke-Objekte 164
Das Suchergebnis match_results 165
std::sub_match 167
Exakte Treffer 169
Suchen 169
Ersetzen 170
Formatieren 171
Wiederholtes Suchen 172
std::regex_iterator 172
std::regex_token_iterator 173
Kapitel 14 – Ein- und Ausgabestreams 175
Hierarchie 175
Ein- und Ausgabefunktionen 176
Eingabe 178
Formatierte Eingabe 178
Unformatierte Eingabe 179
Ausgabe 180
Formatangabe 180
Streams 183
Stringstreams 183
Dateistreams 185
Dateistreams: wahlfreier Zugriff 187
Streamzustand 188
Eigene Datentypen 190
Kapitel 15 – Multithreading 193
Das C++-Speichermodell 193
Atomare Datentypen 194
Threads 195
Erzeugen eines Threads 195
Lebenszeit eines Threads 195
Datenübergabe an einen Thread 197
Operationen auf Threads 198
Gemeinsam von Threads genutzte Daten 200
Kritischer Wettlauf 200
Schutz der Daten mit Mutexen 201
Verklemmung 203
Locks 204
std::lock_guard 204
std::unique_lock 204
Sichere Initialisierung der Daten 206
Konstante Ausdrücke 206
Statische Variablen mit Blockgültigkeit 207
std::call_once und std::once_flag 207
Thread-lokale Daten 208
Bedingungsvariablen 209
Tasks 210
Thread versus Task 211
std::async 212
std::packaged_task 214
std::promise und std::future 215
Index 219
Erscheint lt. Verlag | 17.7.2015 |
---|---|
Verlagsort | Heidelberg |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Schlagworte | C++ • C++11 • C++-Bibliothek • Entwickler • Programmierung • Standardbibliothek |
ISBN-10 | 3-95561-969-9 / 3955619699 |
ISBN-13 | 978-3-95561-969-5 / 9783955619695 |
Haben Sie eine Frage zum Produkt? |
![PDF](/img/icon_pdf_big.jpg)
Größe: 2,7 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich