C++: das umfassende Handbuch
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
Rheinwerk Verlag
2024
|
Ausgabe: | 3., aktualisierte Auflage |
Schriftenreihe: | Rheinwerk Computing
|
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | Auf dem Umschlag: Aktuell zu C++ 23, alle Beispielprojekte zum Download Auf dem Umschlag: das Lehr- und Nachschlagewerk zu Modern C++; Sprachgrundlagen, OOP, Standardbibliothek u.v.m. ; C++ Core Guidelines und Techniken für guten Code |
Beschreibung: | 1172 Seiten Illustrationen 24 cm x 16.8 cm |
ISBN: | 9783836298537 3836298538 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV049695877 | ||
003 | DE-604 | ||
005 | 20241209 | ||
007 | t| | ||
008 | 240524s2024 gw a||| |||| 00||| ger d | ||
016 | 7 | |a 1319581048 |2 DE-101 | |
020 | |a 9783836298537 |c Festeinband : EUR 49.90 (DE), EUR 51.30 (AT), CHF 63.90 (freier Preis) |9 978-3-8362-9853-7 | ||
020 | |a 3836298538 |9 3-8362-9853-8 | ||
035 | |a (OCoLC)1437879904 | ||
035 | |a (DE-599)BVBBV049695877 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a ger | |
044 | |a gw |c DE | ||
049 | |a DE-1102 |a DE-1050 |a DE-29T |a DE-523 |a DE-Aug4 |a DE-706 |a DE-898 |a DE-11 |a DE-860 |a DE-859 |a DE-703 |a DE-573n | ||
082 | 0 | |a 005.133 |2 23/ger | |
082 | 0 | |a 004 |2 23 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 358f |2 stub | ||
100 | 1 | |a Will, Torsten T. |d 1970- |e Verfasser |0 (DE-588)1020320966 |4 aut | |
245 | 1 | 0 | |a C++ |b das umfassende Handbuch |c Torsten T. Will |
250 | |a 3., aktualisierte Auflage | ||
264 | 1 | |a Bonn |b Rheinwerk Verlag |c 2024 | |
300 | |a 1172 Seiten |b Illustrationen |c 24 cm x 16.8 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Rheinwerk Computing | |
500 | |a Auf dem Umschlag: Aktuell zu C++ 23, alle Beispielprojekte zum Download | ||
500 | |a Auf dem Umschlag: das Lehr- und Nachschlagewerk zu Modern C++; Sprachgrundlagen, OOP, Standardbibliothek u.v.m. ; C++ Core Guidelines und Techniken für guten Code | ||
650 | 0 | 7 | |a C++14 |0 (DE-588)1056920483 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C++11 |0 (DE-588)7847900-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C++23 |0 (DE-588)1317339894 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C++17 |0 (DE-588)1147325278 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C++ |0 (DE-588)4193909-8 |2 gnd |9 rswk-swf |
653 | |a programmieren | ||
653 | |a Programmierung | ||
653 | |a C++11 | ||
653 | |a C++14 | ||
653 | |a C++17 | ||
653 | |a guter Code | ||
653 | |a OOP | ||
653 | |a objektorientierte Programmierung | ||
653 | |a C++-Standardbibliothek | ||
653 | |a C-Programmierung | ||
653 | |a Qt | ||
653 | |a GUI-Entwicklung | ||
689 | 0 | 0 | |a C++ |0 (DE-588)4193909-8 |D s |
689 | 0 | 1 | |a C++11 |0 (DE-588)7847900-9 |D s |
689 | 0 | 2 | |a C++14 |0 (DE-588)1056920483 |D s |
689 | 0 | 3 | |a C++17 |0 (DE-588)1147325278 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 1 | 1 | |a C++23 |0 (DE-588)1317339894 |D s |
689 | 1 | |5 DE-604 | |
710 | 2 | |a Rheinwerk Verlag |0 (DE-588)1081738405 |4 pbl | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe, PDF |z 978-3-8362-4361-2 |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-3-8362-9855-1 |w (DE-604)BV049791282 |
780 | 0 | 0 | |i Ersatz von |z 978-3-8362-7593-4 |w (DE-604)BV046832667 |
856 | 4 | 2 | |q text/html |u https://deposit.dnb.de/cgi-bin/dokserv?id=f5e7cb8171324487941abc329abf08c3&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m Digitalisierung Bibliothek HTW Berlin |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=035038388&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-035038388 |
Datensatz im Suchindex
_version_ | 1817975457405992960 |
---|---|
adam_text |
UFL
ER
INHALT
VORWORT
TEIL I
GRUNDLAGEN
25
1 DAS C++-HANDBUCH
31
1.1 NEU UND MODERN
32
1.2 DAN-KAPITEL
32
1.3 DARSTELLUNG IN DIESEM BUCH
33
1.4 VERWENDETE
FORMATIERUNGEN
33
1.5 SORRY
FOR MY DENGLISH 34
ET
2 PROGRAMMIEREN
IN
C++
37
-
GLI
N.
2.1 UEBERSETZEN
38
SW.
N
2.2 UEBERSETZUNGSPHASEN
39
2.3
AKTUELLE COMPILER
40
NDS
2.3.1
GNU C++ 40
2.3.2
CLANG++ VON
LLVM 40
2.3.3
MICROSOFT VISUAL C++ 41
2.3.4
COMPILER IM CONTAINER
41
2.4 ENTWICKLUNGSUMGEBUNGEN 41
2.5 DIE KOMMANDOZEILE UNTER UBUNTU 43
2.5.1
EIN PROGRAMM ERSTELLEN
44
2.5.2
AUTOMATISIEREN MIT MAKEFILE
46
AFIE;
2.6 DIE IDE VISUAL
STUDIO CODE UNTER WINDOWS 47
2.7 DAS BEISPIELPROGRAMM BESCHLEUNIGEN
54
ITE
5
INHALT
3
C++
FUER
UMSTEIGER
55
4.4
4.3.8
LOG
4.3.9
POI!
4.3.10
BES,
4.3.11
FUN
4.3.12
OP
EINGEBAUTE
4 DIE
GRUNDBAUSTEINE
VON C++
63
4.1 EIN SCHNELLER
UEBERBLICK
66
4.4.1
UEL)
4.1.1
KOMMENTARE
66
4.4.2
EIN
4.1.2
DIE INCLUDE-DIREKTIVE
67
4.4.3 GAI
4.1.3
DIE
STANDARDBIBLIOTHEK
67
4.4.4
FLIE
4.1.4
DIE FUNKTION MAINO
67
4.4.5
WA
4.1.5 TYPEN
68
4.4.6
ZEI
4.1.6
VARIABLEN
68
4.4.7
KIM
4.1.7
INITIALISIERUNG
69
4.5
UNDEFINIER
4.1.8
AUSGABE AUF DER KONSOLE
70
4.1.9 ANWEISUNGEN
70
4.2
OHNE EILE ERKLAERT
71
5
GUTER
C
4.2.1
LEERRAEUME, BEZEICHNER UND
TOKEN
73
4.2.2 KOMMENTARE
74
5.1
KOMMENTI
4.2.3
FUNKTIONEN
UND ARGUMENTE
75
4.2.4
SEITENEFFEKT-OPERATOREN
76
5.2
DOKUMENT
4.2.5
DIE
MAIN-FUNKTION
78
5.3
EINRUECKUNL
4.2.6
ANWEISUNGEN
79
5.4
ZEILEN
PRO
4.2.7
AUSDRUECKE
82
4.2.8
ZUWEISUNGEN
84
5.5
KLAMMERN
4.2.9 TYPEN
85
5.6
NAMEN
4.2.10
VARIABLEN -
DEKLARATION, DEFINITION UND INITIALISIERUNG
91
4.2.11
INITIALISIEREN MIT AUTO
93
4.2.12
DETAILS ZUR INCLUDE-DIREKTIVE
UND INCLUDE DIREKT
4.2.13 MODULE
95
96
6
HOEHEN
4.2.14
EINGABE
UND AUSGABE
97
4.2.15
DER NAMENSRAUM STD
98
6.1
DER
ZEICHE
6.1.1
IN
4.3 OPERATOREN
100
6.1.2
FL
4.3.1
OPERATOREN
UND OPERANDEN
101
6.1.3
AI
4.3.2
UEBERBLICK
UEBER OPERATOREN
102
6.1.4
NI
4.3.3
ARITHMETISCHE OPERATOREN
103
4.3.4
BITWEISE ARITHMETIK
104
6.2
STREAMS
.
4.3.5
ZUSAMMENGESETZTE ZUWEISUNG
107
6.2.1
EI
4.3.6
POST- UND PRAEINKREMENT
SOWIE POST- UND PRAEDEKREMENT
108
6.2.2
4.3.7
RELATIONALE OPERATOREN
108
6.2.3
D
6
INHALT
4.3.8
LOGISCHE OPERATOREN
109
4.3.9
POINTER- UND DEREFERENZIERUNGSOPERATOREN
111
4.3.10 BESONDERE
OPERATOREN
112
4.3.11 FUNKTIONSAEHNLICHE OPERATOREN
114
4.3.12
OPERATORREIHENFOLGE 115
4.4
EINGEBAUTE DATENTYPEN
116
4.4.1
UEBERSICHT
117
4.4.2
EINGEBAUTE DATENTYPEN INITIALISIEREN
119
4.4.3
GANZZAHLEN
119
4.4.4
FLIESSKOMMAZAHLEN
134
4.4.5
WAHRHEITSWERTE
149
4.4.6
ZEICHENTYPEN
151
4.4.7
KOMPLEXE ZAHLEN
154
4.5
UNDEFINIERTES
UND UNSPEZIFIZIERTES VERHALTEN
157
5
GUTER
CODE, 1. DAN: LESBAR
PROGRAMMIEREN
159
5.1
KOMMENTARE
160
5.2
DOKUMENTATION
160
5.3
EINRUECKUNGEN
UND ZEILENLAENGE
161
5.4
ZEILEN PRO FUNKTION UND DATEI
162
5.5
KLAMMERN UND
LEERZEICHEN
163
5.6 NAMEN
164
6
HOEHERE DATENTYPEN
167
6.1
DER
ZEICHENKETTENTYP STRING
168
6.1.1
INITIALISIERUNG
169
6.1.2
FUNKTIONEN UND
METHODEN
171
6.1.3
ANDERE STRINGTYPEN
172
6.1.4
NUR ZUR ANSICHT: STRING_VIEW
173
6.2 STREAMS
174
6.2.1
EINGABE- UND
AUSGABEOPERATOREN
175
6.2.2
GETLINE
177
6.2.3
DATEIEN FUER DIE EIN- UND AUSGABE
177
7
INHALT
6.2.4
MANIPULATOREN
179
7.12.4
GEL
6.2.5
DER MANIPULATOR
ENDL
181
7.12.5
SP(
6.3 BEHAELTER UND ZEIGER
181
6.3.1
CONTAINER
181
6.3.2
PARA
METRISIERTE TYPEN
182
8
ANWEIS
6.4 DIE EINFACHEN SEQUENZCONTAINER
183
6.4.1
A RRAY
184
8.1
DER
ANWEI!
6.4.2
VECTOR
186 8.1.1
FM
6.5 ALGORITHMEN
189
8.2
DIE
LEERE
A
6.6
ZEIGER UND C-ARRAYS
189
8.3
DEKLARATIO
6.6.1
ZEIGERTYPEN
190 8.3.1
STR
6.6.2
C-ARRAYS
190
8.4
DIE
AUSDRL
8.5
DIE
IF-AT
8.5.1
IF
7
FUNKTIONEN
191
8.5.2
CO
8.6
DIE
WHILE
7.1
DEKLARATION UND DEFINITION
EINER FUNKTION
192
8.7
DIE DO
-W
7.2
FUNKTIONSTYP
193
8.8
DIE
FOR-!
7.3
FUNKTIONEN VERWENDEN
194
8.9
DIE
BEREICL
7.4 EINE FUNKTION
DEFINIEREN
195
8.10
DIE
SWITC
7.5 MEHR ZU
PARAMETERN
197
7.5.1
CALL-BY-VALUE
197
8.11 DIE BREAL
7.5.2
CA
II-BY-REFERENCE
198
8.12
DIE
CONTI
7.5.3
KONSTANTE
REFERENZEN
199
8.13
DIE
RETUR
7.5.4
AUFRUF ALS WERT, REFERENZ
ODER KONSTANTE REFERENZ?
200
8.14 DIE GOTO
7.6 FUNKTIONSKOERPER
201
8.15 DER TRY-C
7.7 PARAMETER UMWANDELN
203
8.16 ZUSAMME
7.8 FUNKTIONEN UEBERLADEN
205
7.9
DEFAULTPARAMETER
208
7.10 BELIEBIG
VIELE ARGUMENTE
209
9
AUSDRIJ
7.11 ALTERNATIVE SCHREIBWEISE
ZUR FUNKTIONSDEKLARATION
210
7.12 SPEZIALITAETEN
211
9.1 BERECHNUI
7.12.1
NOEXCEPT
211
9.2
ARTEN
VON
7.12.2
INLINE-FUNKTIONEN
212
9.3
LITERALE
7.12.3
CONSTEXPR
212
8
INHALT
7.12.4
GELOESCHTE FUNKTIONEN
213
7.12.5
SPEZIALITAETEN
BEI
KLASSENMETHODEN
213
8
ANWEISUNGEN
IM DETAIL
8.1
DER
ANWEISUNGSBLOCK
218
8.1.1
FREI STEHENDE
BLOECKE UND
GUELTIGKEIT
VON VARIABLEN
219
8.2
DIE LEERE
ANWEISUNG
221
8.3
DEKLARATIONSANWEISUNG
221
8.3.1
STRUKTURIERTES
BINDEN
223
8.4
DIE
AUSDRUCKSANWEISUNG
224
8.5
DIE IF
-ANWEISUNG
224
8.5.1
IF
MIT INITIALISIERER
227
8.5.2
COMPILEZEIT
IF
228
8.6
DIE WHILE
-SCHLEIFE
229
8.7
DIE DO-WHILE
-SCHLEIFE
231
8.8
DIE
FOR-SCHLEIFE
232
8.9
DIE
BEREICHSBASIERTE
FOR
-SCHLEIFE
234
8.10
DIE SWITCH
-VERZWEIGUNG
236
8.11 DIE
BREAK
-ANWEISUNG
240
8.12 DIE
CONTINUE
-ANWEISUNG
241
8.13
DIE RETURN
-ANWEISUNG
242
8.14 DIE
GOTO-ANWEISUNG
243
8.15 DER
TRY-CATCH-BLOCK
UND
THROW
245
8.16
ZUSAMMENFASSUNG
247
9
AUSDRUECKE
IM
DETAIL
249
215
9.1
BERECHNUNGEN
UND
SEITENEFFEKTE
250
9.2
ARTEN
VON
AUSDRUECKEN
251
9.3
LITERALE
253
9
INHALT
9.4
9.5
9.6
9.7
BEZEICHNER
KLAMMERN
FUNKTIONSAUFRUF UND
INDEXZUGRIFF
ZUWEISUNG
253
254
254
255
TEIL II
OBJI
12
VON
DER
12.1
INITIALISIERU
9.8
TYPUMWANDLUNG
257
12.2
RUECKGABE
E
12.3
METHODEN
10
FEHLERBEHANDLUNG
259
12.4
DAS
['ESSEN
12.5
EINE
AUSGA
10.1 FEHLERBEHANDLUNG
MIT
FEHLERCODES
261
12.6
METHODEN
10.2 WAS
IST EINE AUSNAHME?
264
12.7
IMPLEMENI
10.2.1
AUSNAHMEN AUSLOESEN
UND BEHANDELN
266
12.8
INITIALISIERT
10.2.2
AUFRUFSTAPEL
ABWICKELN
266
12.8.1
M(
10.3 KLEINERE
FEHLERBEHANDLUNGEN
267
12.8.2
KO
10.4 WEITERWERFEN
- RETHROW
268
12.8.3
DE
12.8.4
IR
10.5 DIE
REIHENFOLGE IM CATCH
268
12.8.5
EX
10.5.1
KEIN FI NA I
LY
270
10.5.2
EXCEPTIONS DER
STANDARDBIBLIOTHEK
270
12.9
STRUKTUR
C:M
12.9.1
KA
10.6 TYPEN
FUER EXCEPTIONS
271
12.9.2
P
10.7
WENN EINE EXCEPTION
AUS MAIN
HERAUSFAELLT
272
12.9.3
DZ
12.9.4
INI
12.10
ZWISCHENE
11 GUTER
CODE, 2.
DAN: MODULARISIERUNG
273
12.11
EIGENE
DAL
12.11.1
KI
11.1
PROGRAMM, BIBLIOTHEK,
OBJEKTDATEI
273
12.11.2
KC
11.2
BAUSTEINE
274
12.11.3
TY
11.3
TRENNEN DER
FUNKTIONALITAETEN
275
12.11.4
KI
12.11.5
TY
11.4
EIN MODULARES
BEISPIELPROJEKT
277
12.12
TYPINFEREI
11.4.1
NAMENSRAEUME
280
11.4.2
IMPLEMENTIERUNG
281
12.13
EIGENE
KLA
11.4.3
DIE BIBLIOTHEK
NUTZEN
287
12.13.1
EL
10
/MW
INHALT
TEIL II
OBJEKTORIENTIERTE
PROGRAMMIERUNG
UND
MEHR
12
VON DER
STRUKTUR
ZUR KLASSE
291
12.1
INITIALISIERUNG
294
12.2
RUECKGABE EIGENER
TYPEN
295
12.3
METHODEN
STATT
FUNKTIONEN
297
12.4
DAS BESSERE
DRUCKE
300
12.5
EINE AUSGABE
WIE JEDE
ANDERE
302
12.6
METHODEN
INLINE DEFINIEREN
303
12.7
IMPLEMENTIERUNG
UND
DEFINITION TRENNEN
304
12.8
INITIALISIERUNG
PER KONSTRUKTOR
305
12.8.1
MEMBER-DEFAULTWERTE
IN DER
DEKLARATION
308
12.8.2
KONSTRUKTOR-DELEGATION
309
12.8.3
DEFAULTWERTE FUER
DIE KONSTRUKTORPARAMETER
310
12.8.4 INIT-METHODE
NICHT IM
KONSTRUKTOR
AUFRUFEN
312
12.8.5
EXCEPTIONS
IM
KONSTRUKTOR
313
12.9
STRUKTUR ODER
KLASSE?
313
12.9.1
KAPSELUNG
314
12.9.2
PUBLIC UND
PRIVATE, STRUKTUR
UND KLASSE
315
12.9.3
DATEN
MIT STRUCT,
VERHALTEN MIT
DASS
315
12.9.4
INITIALISIERUNG
VON
TYPEN MIT PRIVATEN
DATEN
316
12.10
ZWISCHENERGEBNIS
318
12.11
EIGENE DATENTYPEN
VERWENDEN
318
12.11.1
KLASSEN
ALS WERTE
VERWENDEN
321
12.11.2
KONSTRUKTOREN
NUTZEN
324
12.11.3
TYPUMWANDLUNGEN
324
12.11.4 KAPSELN
UND ENTKAPSELN
326
12.11.5
TYPEN LOKAL EINEN
NAMEN GEBEN
332
12.12
TYPINFERENZ
MIT AUTO
335
12.13 EIGENE
KLASSEN IN
STANDARDCONTAINERN
339
12.13.1
DREI-WEGE-VERGLEICH:
DER
SPACESHIP-OPERATOR
341
11
INHALT
13
NAMENSRAEUME
UND
QUALIFIZIERER
343
14.2
FRAMEWORL
14.2.1
ARR
13.1
DER
NAMENSRAUM
STD
344
14.2.2
FRA
13.2
ANONYMER
NAMENSRAUM
347
14.3
BOOST.TEST
13.3 STATIC
MACHT
LOKAL
349
14.4
HILFSMAKRO
13.4
STATIC
TEILT GERN
350
14.5
EIN BEISPIE
14.5.1
PRI
13.5
FERNE
INITIALISIERUNG
ODER STATIC
INLINE-DATENFELDER
353
14.5.2 EIR
13.6
GARANTIERT
ZUR
COMPILEZEIT
INITIALISIERT MIT
CONSTINIT
354
14.5.3 TE!
13.7
STATIC
MACHT
DAUERHAFT
354
14.5.4
DI(
14.5.5 TE'
13.8
INLINE
NAMESPACE
356
14.5.6
PA
13.9
ZUSAMMENFASSUNG
358
13.10
CONST
358
13.10.1
CONST-PARAMETER
359
15
VERERB)
13.10.2
CONST-METHODEN
361
13.10.3
CONST-VARIABLEN
362
15.1
BEZIEHUNG
13.10.4
CONST-RUECKGABEN
364
15.1.1
HA
13.10.5
CONST
ZUSAMMEN
MIT
STATIC
368
15.1.2
HA
13.10.6
NOCH
KONSTANTER MIT
CONSTEXPR
369
15.1.3
IST
13.10.7
IF
CONSTEXPR
FUER
UEBERSETZUNGSZEIT-ENTSCHEIDUNGEN
373
15.1.4 IST
13.10.8
C++20:
CONSTEVAL
374
13.10.9
IF
CONSTEVAL
376
15.2
VERERBUNG
13.10.10
UN-CONST
MIT
MUTABLE
377
15.3 HAT-EIN
VE
13.10.11
CONST-KORREKTHEIT
378
15.4
GEMEINSAL
13.10.12
ZUSAMMENFASSUNG
379
15.5
ABGELEITET
13.11
FLUECHTIG
MIT VOLATILE
380
15.6
METHODEN
15.7
WIE
METIU
14
GUTER
CODE, 3.
DAN:
TESTEN
383
15.8 VIRTUELLE
H
15.9
KONSTRUKT
14.1
ARTEN
DES TESTS
383
15.10
TYPUMWAL
14.1.1
REFACTORING
385
15.10.1
DI
14.1.2
UNITTESTS
386
15.10.2
DI
14.1.3
SOZIAL
ODER SOLITAER
387
15.10.3
RE
14.1.4
DOPPELGAENGER
389
14.1.5
SUITES
391
15.11
WANN VIRT
15.12
ANDERE
DE
12
INHALT
14.2 FRAMEWORKS
391
14.2.1
ARRANGE, ACT, ASSERT
394
14.2.2 FRAMEWORKS
ZUR AUSWAHL
395
14.3
BOOST.TEST
396
14.4
HILFSMAKROS FUER
ASSERTIONS
400
14.5
EIN BEISPIELPROJEKT
MIT
UNITTESTS
403
14.5.1
PRIVATES UND
OEFFENTLICHES TESTEN
405
14.5.2
EIN
AUTOMATISCHES
TESTMODUL
406
14.5.3
TEST KOMPILIEREN
408
14.5.4 DIE
TESTSUITE SELBST
ZUSAMMENBAUEN
409
14.5.5
TESTEN VON
PRIVATEM
414
14.5.6
PARAMETRISIERTE TESTS
414
15 VERERBUNG
417
15.1
BEZIEHUNGEN
418
15.1.1
HAT-EIN-KOMPOSITION
418
15.1.2
HAT-EIN-AGGREGATION
419
15.1.3
IST-EIN-VERERBUNG
420
15.1.4
IST-INSTANZ-VON
VERSUS
IST-EIN-BEZIEHUNG
420
15.2
VERERBUNG IN C++
421
15.3
HAT-EIN
VERSUS IST-EIN
422
15.4 GEMEINSAMKEITEN
FINDEN
422
15.5 ABGELEITETE
TYPEN
ERWEITERN
425
15.6
METHODEN
UEBERSCHREIBEN
426
15.7
WIE METHODEN
FUNKTIONIEREN
427
15.8
VIRTUELLE
METHODEN
429
15.9
KONSTRUKTOREN
IN KLASSENHIERARCHIEN
431
15.10
TYPUMWANDLUNG
IN
KLASSENHIERARCHIEN
433
15.10.1
DIE VERERBUNGSHIERARCHIE
AUFWAERTS UMWANDELN
433
15.10.2 DIE
VERERBUNGSHIERARCHIE
ABWAERTS
UMWANDELN
433
15.10.3
REFERENZEN
BEHALTEN AUCH
DIE TYPINFORMATION
434
15.11
WANN VIRTUELL?
434
15.12
ANDERE DESIGNS
ZUR
ERWEITERBARKEIT
436
13
INHALT
16
DER LEBENSZYKLUS VON KLASSEN
439
17.2.6
ME
17.2.7
DE
16.1 ERZEUGUNG UND
ZERSTOERUNG
440
17.2.8
NO
16.2 TEMPORARY:
KURZLEBIGE WERTE
442
16.3
DER DESTRUKTOR ZUM KONSTRUKTOR
16.3.1
KEIN DESTRUKTOR NOETIG
444
446
18
SPEZIELL
16.3.2
RESSOURCEN IM DESTRUKTOR
446
18.1
DUERFEN ALLE
16.4 YODA-BEDINGUNG
449
18.1.1
FR
16.5 KONSTRUKTION,
DESTRUKTION UND EXCEPTIONS
450
18.2
NON-PUBLIC
16.6 KOPIEREN
452
18.2.1
AU
16.7
ZUWEISUNGSOPERATOR
455
18.2.2
NIL
16.8 STREICHEN
VON METHODEN
16.9
VERSCHIEBEOPERATIONEN
459
461
18.3
SIGNATURKL,
18.4
MULTIPLE
V
16.9.1
WAS DER COMPILER GENERIERT
465
18.4.1
MI
18.4.2
AC
16.10 OPERATOREN
466
18.4.3
DA
16.11 EIGENE OPERATOREN
IN EINEM DATENTYP
470
18.5
RAUTENFOEN
16.12 BESONDERE
KLASSENFORMEN
478
KLASSENHIE
16.12.1 ABSTRAKTE
KLASSEN UND METHODEN
478
18.6
LITERALE
DA
16.12.2
AUFZAEHLUNGSKLASSEN
480
19
GUTER
17
GUTER CODE, 4. DAN:
SICHERHEIT, QUALITAET UND
OBJEKTI
NACHHALTIGKEIT
483
19.1
OBJEKTE
IN
17.1
DIE
NULLERREGEL
483
19.2
OBJEKTORIE
17.1.1
DIE GROSSEN FUENF
483
19.2.1
SC
17.1.2
HILFSKONSTRUKT PER
VERBOT
484
19.2.2
SE
17.1.3
DIE
NULLERREGEL UND IHR EINSATZ
485
17.1.4
AUSNAHMEN VON DER
NULLERREGEL
486
17.1.5
NULLERREGEL, DREIERREGEL,
FUENFERREGEL, VIEREINHALBERREGEL
489
17.2
RAII - RESOURCE
ACQUISITION IS INITIALIZATION
489
TEIL
III
FOI
17.2.1
EIN
BEISPIEL MIT C
490
17.2.2
BESITZENDE RAW-POINTER
492
20
ZEIGER
17.2.3
VON C NACH C++
493
17.2.4
ES
MUSS NICHT IMMER EINE EXCEPTION SEIN
495
20.1
ADRESSEN
17.2.5
MEHRERE KONSTRUKTOREN
496
20.2
ZEIGER
14
INHALT
17.2.6
MEHRPHASIGE INITIALISIERUNG
497
17.2.7 DEFINIEREN, WO ES GEBRAUCHT WIRD 497
17.2.8 NOTHROW-NEW 497
18 SPEZIELLES FUER KLASSEN
18.1 DUERFEN ALLES SEHEN -
FRIEND
-KLASSEN
499
18.1.1
FRIEND CLASS-BEISPIEL
501
18.2
NON-PUBLIC
-VERERBUNG
504
18.2.1
AUSWIRKUNGEN AUF DIE AUSSENWELT 505
18.2.2
NICHT OEFFENTLICHE VERERBUNG IN DER
PRAXIS 508
18.3 SIGNATURKLASSEN ALS
INTERFACES
510
18.4 MULTIPLE VERERBUNG
514
18.4.1
MULTIPLE VERERBUNG IN DER PRAXIS 516
18.4.2 ACHTUNG BEI TYPUMWANDLUNGEN VON ZEIGERN 520
18.4.3
DAS BEOBACHTER-MUSTER ALS PRAKTISCHES BEISPIEL 522
18.5 RAUTENFOERMIGE MULTIPLE VERERBUNG -
VIRTUAL
FUER
KLASSENHIERARCHIEN
524
18.6 LITERALE DATENTYPEN - CONSTEXPR FUER KONSTRUKTOREN
528
19 GUTER CODE, 5. DAN: KLASSISCHES
OBJEKTORIENTIERTES
DESIGN
19.1
OBJEKTE IN C++
533
19.2 OBJEKTORIENTIERT DESIGNEN
534
19.2.1
SOLID
535
19.2.2
SEIEN SIE NICHT
STUPID 553
TEIL ILL FORTGESCHRITTENE
THEMEN
20 ZEIGER
557
20.1 ADRESSEN
558
20.2 ZEIGER
560
15
499
531
INHALT
20.3 GEFAHREN VON ALIASING
20.4 HEAPSPEICHER UND STAPELSPEICHER
20.4.1
DER STAPEL
20.4.2
DER HEAP
20.5 SMARTE POINTER
20.5.1
UNIQUE_PTR
20.5.2 SHARED_PTR
562
563
563
565
567
569
573
22.3
C-RESSOURCE
22.4
VOID-POIN
22.5
DATEN
LESEN
22.6
DAS
HAUPTPI
22.7 ZUSAMMENF
20.6 ROHE ZEIGER
576
20.6.1
EINE
REFERENZ KOENNEN SIE NICHT NEU ZUWEISEN
579
23
TEMPLAL
20.6.2
SIE KOENNEN KEINE REFERENZEN IN EINEM CONTAINER SPEICHERN
579
20.7 C-ARRAYS
582
23.1
FUNKTIONSTE
20.7.1
RECHNEN MIT ZEIGERN 582
23.1.1
UEB(
20.7.2
VERFALL VON C-ARRAYS
584
23.1.2
EIN
20.7.3
DYNAMISCHE C-ARRAYS 585
23.1.3
FUN
20.7.4
ZEICHEN KETTEN I ITERA LE
587
23.1.4
WE
20.8 ITERATOREN
588
23.1.5 VIEL
23.1.6
PAR
20.9
ZEIGER ALS ITERATOREN
590
23.1.7
ME.
20.10
ZEIGER IM CONTAINER
590
23.2
FUNKTIONSTT
20.11 DIE AUSNAHME: WANN DAS WEGRAEUMEN NICHT NOETIG IST
591
23.2.1
RAR
23.2.2
BEI
23.3
EINE
KLASSE
21
MAKROS
595
23.3.1
WE
23.3.2
C-F
21.1 DER
PRAEPROZESSOR
21.2 VORSICHT VOR FEHLENDEN KLAMMERN
596
600
23.3.3
DIE
23.3.4
PRA
23.3.5
ALS
21.3 FEATUREMAKROS
601
23.3.6
AN
21.4 INFORMATION
UEBER DEN QUELLTEXT
602
23.3.7
TER
21.5 WARNUNG VOR MEHRFACHAUSFUEHRUNG
603
23.4
C++
CONCEI
21.6 TYPVARIABILITAET VON MAKROS
604
23.4.1 WI
23.4.2
WI
21.7 ZUSAMMENFASSUNG
607
23.4.3
WI
23.4.4
SET
23.4.5
ZU
22
SCHNITTSTELLE ZU C
609
23.5
TEMPLATEK
23.5.1
KID
22.1 MIT BIBLIOTHEKEN ARBEITEN
610
23.5.2
M(
22.2
C-HEADER
611
23.5.3
OB
16
INHALT
22.3
C-RESSOURCEN
614
22.4 VOID-POINTER
615
22.5 DATEN LESEN
616
22.6 DAS HAUPTPROGRAMM
617
22.7 ZUSAMMENFASSUNG
618
23 TEMPLATES
619
23.1 FUNKTIONSTEMPLATES 621
23.1.1 UEBERLADUNG 621
23.1.2
EIN TYP ALS PARAMETER 622
23.1.3
FUNKTIONSKOERPER EINES FUNKTIONSTEMPLATES
623
23.1.4 WERTE ALS TEMPLATEPARAMETER 625
23.1.5
VIELE FUNKTIONEN 627
23.1.6 PARAMETER MIT EXTRAS
628
23.1.7 METHODENTEMPLATES SIND AUCH NUR FUNKTIONSTEMPLATES 630
23.2 FUNKTIONSTEMPLATES IN DER STANDARDBIBLIOTHEK 631
23.2.1 RANGES STATT CONTAINER ALS TEMPLATEPARAMETER 632
23.2.2
BEISPIEL: INFORMATIONEN UEBER ZAHLEN 635
23.3 EINE
KLASSE ALS FUNKTION
637
23.3.1 WERTE FUER EINEN FUNCTION-PARAMETER 638
23.3.2
C-FUNKTIONSPOINTER
639
23.3.3 DIE ETWAS ANDERE FUNKTION
641
23.3.4 PRAKTISCHE FUNKTOREN
644
23.3.5 ALGORITHMEN MIT
FUNKTOREN 646
23.3.6 ANONYME FUNKTIONEN ALIAS
LAMBDA-AUSDRUECKE 647
23.3.7 TEMPLATEFUNKTIONEN OHNE TEMPLATE, ABER MIT AUTO 653
23.4 C++
CONCEPTS
654
23.4.1 WIE SIE CONCEPTS
LESEN 654
23.4.2 WIE SIE CONCEPTS ANWENDEN
658
23.4.3 WIE SIE CONCEPTS SCHREIBEN 660
23.4.4 SEMANTISCHE EINSCHRAENKUNGEN 661
23.4.5 ZUSAMMENFASSUNG
661
23.5 TEMPLATEKLASSEN
662
23.5.1
KLASSENTEMPLATES IMPLEMENTIEREN 662
23.5.2 METHODEN
VON KLASSENTEMPLATES IMPLEMENTIEREN 663
23.5.3 OBJEKTE AUS KLASSENTEMPLATES
ERZEUGEN 666
17
INHALT
23.5.4
KLASSENTEMPLATES
MIT MEHREREN FORMALEN
DATENTYPEN
23.5.5
KLASSENTEMPLATES
MIT NON
-TYPE-PARAMETER
23.5.6
KLASSENTEMPLATES MIT
DEFAULT
23.5.7
KLASSENTEMPLATES SPEZIALISIEREN
670
671
673
674
24.5
EIN
UEBERBLICL
24.5.1
TYPZ
24.6 DIE SEQUENZ
24.6.1
GEN
23.6
TEMPLATES
MIT VARIABLER
ARGUMENTANZAHL
677
24.6.2
MET
23.6.1
SIZEOF
.-OPERATOR
680
24.6.3
VEC
23.6.2
PARAMETER-PACK
IN
TUPEL KONVERTIEREN
681
24.6.4
ARR
23.7
EIGENE LITERALE
681
24.6.5 DE
23.7.1
WAS SIND LITERALE? 682
24.6.6 HSI
23.7.2
NAMENSREGELN 683
24.6.7 FOR
23.7.3
PHASENWEISE
683
24.7
ASSOZIATIV
23.7.4
UEBERLADUNGSVARIANTEN
684
24.7.1
GER
23.7.5
BENUTZERDEFINIERTES
LITERAL
MITTELS
TEMPLATE
685
24.7.2
MEI
23.7.6
ROH ODER
GEKOCHT
689
24.7.3
SEI
23.7.7
AUTOMATISCH
ZUSAMMENGEFUEGT
690
24.7.4
MI
23.7.8
UNICODELITERALE
690
24.7.5
MI
TEIL IV
DIE
STANDARDBIBLIOTHEK
24.7.6 MI
24.8
NUR
ASSOZIA
24.8.1
FLAE
24.8.2
GER
24 CONTAINER
695
24.8.3 ME
24.8.4
UR
24.1 GRUNDLAGEN
24.1.1
WIEDERKEHREND
24.1.2
ABSTRAKT
696
696
697
24.8.5 UR
24.8.6
UR
24.8.7 UR
24.1.3
OPERATIONEN
699
24.9
CONTAINERA
24.1.4
KOMPLEXITAET
700
24.10
SONDERFAELLE
24.1.5
CONTAINER
UND IHRE
ITERATOREN
702
24.1.6
RANGES VEREINFACHEN ITERATOREN 704
24.11 SONDERFAELLE
24.1.7
RANGES, VIEWS, CONCEPTS, ADAPTER, GENERATOREN UND ALGORITHMEN
24.1.8
ALGORITHMEN
708
709
24.11.1 DYI
24.11.2 STA
24.2 ITERATOREN-GRUNDLAGEN
24.2.1
ITERATOREN AUS CONTAINERN
24.2.2
MEHR FUNKTIONALITAET MIT ITERATOREN
709
711
713
24.12 SONDERFALL:
24.12.1 EIG
24.12.2 INII
24.12.3
ZUL
24.3
ALLOKATOREN:
SPEICHERFRAGEN
714
24.12.4
EIN
24.4
CONTAINERGEMEINSAMKEITEN
717
24.12.5
ZU
18
24.12.6
SPI
24.12.7
SPI
INHALT
24.5 EIN UEBERBLICK
UEBER DIE
STANDARDCONTAINERKLASSEN
719
24.5.1
TYPALIASE DER CONTAINER
720
24.6 DIE SEQUENZIELLEN
CONTAINERKLASSEN
723
24.6.1 GEMEINSAMKEITEN UND UNTERSCHIEDE
725
24.6.2 METHODEN VON
SEQUENZCONTAINERN
727
24.6.3
VECTOR
730
24.6.4 ARRAY
750
24.6.5 DEQUE
756
24.6.6
LIST
760
24.6.7
FORWARD_LIST
763
24.7 ASSOZIATIV UND GEORDNET
769
24.7.1 GEMEINSAMKEITEN UND
UNTERSCHIEDE 770
24.7.2
METHODEN DER GEORDNETEN ASSOZIATIVEN CONTAINER
771
24.7.3
SET
773
24.7.4 MAP
788
24.7.5
MULTISET
795
24.7.6 MULTIMAP
801
24.8
NUR ASSOZIATIV UND NICHT GARANTIERT
805
24.8.1
HASHTABELLEN
806
24.8.2
GEMEINSAMKEITEN UND UNTERSCHIEDE
810
24.8.3
METHODEN DER UNGEORDNETEN ASSOZIATIVEN
CONTAINER 813
24.8.4 UNORDERED_SET
814
24.8.5 UNORDERED_MAP
823
24.8.6 UNORDERED_M
ULTISET
828
24.8.7 UNORDERED_MULTIMAP
834
24.9
CONTAINERADAPTER
837
24.10 SONDERFAELLE:
STRING, BASIC_STRING UND
VECTOR CHAR
840
24.11
SONDERFAELLE: VECTOR BOOL , ARRAY BOOL,N
UND BITSET N 842
24.11.1
DYNAMISCH UND KOMPAKT: VECTOR BOOL
842
24.11.2 STATISCH:
ARRAY BOOL,N UND BITSET N
842
24.12 SONDERFALL: VALUE-ARRAY MIT
VALARRAY
845
24.12.1
EIGENSCHAFTEN DER ELEMENTE
847
24.12.2 INITIALISIEREN
849
24.12.3 ZUWEISEN
849
24.12.4
EINFUEGEN UND LOESCHEN
849
24.12.5
ZUGREIFEN
850
24.12.6 SPEZIALITAET: ALLE DATEN
MANIPULIEREN
850
24.12.7
SPEZIALITAET: SCHNEIDEN UND
MASKIEREN 851
19
INHALT
25
CONTAINERUNTERSTUETZUNG
855
26.1.4
EIN
26.1.5
WEI
25.1 ALGORITHMEN
857
26.1.6
GROE
25.2
25.3
ITERATOREN
UND RANGES
ITERATORADAPTER
858
860
26.2
REZEPTE
FUER
26.2.1
ZW(
26.2.2
DER
25.4 ALGORITHMEN
DER STANDARDBIBLIOTHEK
861
26.2.3
SO
5
25.5 PARALLELE AUSFUEHRUNG
863
26.3
ALGORITHME
25.6 LISTE DER
ALGORITHMUSFUNKTIONEN UND
RANGE-ADAPTER
866
25.6.1
LISTE DER RANGE-ADAPTER
UND VIEWS
868
25.6.2
RANGES ALS PARAMETER (UND MEHR)
874
27
STREAMS
25.6.3
LISTE DER (EIGENTLICH) NICHT
VERAENDERNDEN ALGORITHMEN
876
25.6.4
INHAERENT
MODIFIZIERENDE ALGORITHMEN
881
27.1
EIN- UND AU
25.6.5
ALGORITHMEN
RUND UM PARTITIONEN
886
25.6.6
ALGORITHMEN RUND UMS SORTIEREN
UND SCHNELLE SUCHEN IN
27.2
GLOBALE,
VO
SORTIERTEN BEREICHEN
887
27.2.1
STR(
25.6.7
MISCHMENGENALGORITHMEN, REPRAESENTIERT
DURCH EINEN
27.3
METHODEN
I
SORTIERTEN BEREICH
888
27.3.1
ME
25.6.8
HEAPALGORITHMEN
890
27.3.2
ME
25.6.9
MINIMUM UND
MAXIMUM
891
25.6.10 DIVERSE
ALGORITHMEN
891
27.4
FEHLERBEHA
27.4.1 ME
25.7 ELEMENTE
VERKNUEPFENDE ALGORITHMEN
AUS NUMERIC UND
RANGES
892
27.5
STREAMSM
27.5.1
MA
25.8
KOPIE STATT ZUWEISUNG - WERTE IN UNINITIALISIERTEN
27.5.2
EIG
SPEICHERBEREICHEN
899
27.5.3
EIG
25.9 EIGENE
ALGORITHMEN
901
27.5.4
FOR
25.10
EIGENE VIEWS UND
RANGE-ADAPTER SCHREIBEN
903
27.6
STREAMS
FUEL
27.6.1
DIE
27.6.2
VEL
26
GUTER CODE, 6. DAN: FUER
JEDE AUFGABE DER
27.6.3
LES
27.6.4
WO
RICHTIGE
CONTAINER
907 27.6.5 SYR
27.7 STREAMS
FUE
26.1 ALLE CONTAINER NACH
ASPEKTEN SORTIERT
907
27.7.1
UN
26.1.1
WANN
IST EIN VECTOR NICHT DIE
BESTE WAHL?
907
27.7.2
TC
26.1.2
IMMER SORTIERT: SET, MAP,
MULTISET UND MULTIMAP
908
27.7.3
LES
26.1.3
IM SPEICHER HINTEREINANDER:
VECTOR, ARRAY
909
20
INHALT
26.1.4
EINFUEGUNG BILLIG: LIST
910
26.1.5 WENIG SPEICHEROVERHEAD:
VECTOR, ARRAY 910
26.1.6 GROESSE
DYNAMISCH: ALLE AUSSER ARRAY
912
26.2 REZEPTE FUER CONTAINER
913
26.2.1
ZWEI PHASEN? VECTOR ALS GUTER SET-ERSATZ
913
26.2.2
DEN INHALT EINES CONTAINERS AUF EINEM STREAM AUSGEBEN 915
26.2.3
SO STATISCH IST ARRAY GAR NICHT
916
26.3 ALGORITHMEN JE NACH CONTAINER UNTERSCHIEDLICH IMPLEMENTIEREN
919
27 STREAMS, DATEIEN UND FORMATIERUNG
921
27.1 EIN- UND AUSGABEKONZEPT MIT STREAMS
922
27.2 GLOBALE,
VORDEFINIERTE STANDARDSTREAMS
922
27.2.1 STREAMOPERATOREN
UND
923
27.3 METHODEN FUER DIE AUS- UND EINGABE VON STREAMS
925
27.3.1 METHODEN
FUER DIE UNFORMATIERTE AUSGABE
925
27.3.2 METHODEN FUER DIE
(UNFORMATIERTE) EINGABE
926
27.4 FEHLERBEHANDLUNG UND ZUSTAND VON STREAMS
929
27.4.1 METHODEN FUER DIE BEHANDLUNG VON
FEHLERN BEI STREAMS 930
27.5 STREAMS MANIPULIEREN UND FORMATIEREN 933
27.5.1 MANIPULATOREN
933
27.5.2
EIGENE MANIPULATOREN OHNE ARGUMENTE ERSTELLEN
939
27.5.3
EIGENE MANIPULATOREN MIT ARGUMENTEN ERSTELLEN
941
27.5.4
FORMAT
-FLAGS DIREKT AENDERN
942
27.6 STREAMS FUER DIE DATEIEIN- UND DATEIAUSGABE
945
27.6.1 DIE STREAMS IFSTREAM, OFSTREAM UND FSTREAM
946
27.6.2 VERBINDUNG ZU EINER DATEI HERSTELLEN
946
27.6.3 LESEN UND SCHREIBEN
951
27.6.4 WAHLFREIER ZUGRIFF 958
27.6.5
SYNCHRONISIERTE STREAMS FUER THREADS 959
27.7 STREAMS FUER
STRINGS 961
27.7.1 UNTERSCHIED ZU
TO_STRING 964
27.7.2
TO_CHARS UND FORMAT SIND FLEXIBLER ALS TO_STRING
965
27.7.3
LESEN AUS EINEM STRING
965
21
INHALT
27.8
STREAMPUFFER
27.8.1
ZUGRIFF AUF DEN
STREAMPUFFER VON
IOSTREAM-OBJEKTEN
27.8.2
FILEBUF
27.8.3
STRINGBUF
27.9 FILESYSTEM
27.10
FORMATIEREN
966
967
969
969
969
971
28.5.5
EIGE
28.5.6
SYS
28.6
LA
UFZEITTYPI
28.7
HILFSKLASSEN
28.7.1
FUN
28.7.2
FUN
27.10.1 EINFACHE
FORMATIERUNG
972
28.8
OPTIONAL
I
27.10.2
EIGENE TYPEN
FORMATIEREN
974
28.9
VARIANT
FI
28.10
ANY
HAELT
J
28
STANDARDBIBLIOTHEK
-
EXTRAS
979
28.11
SPEZIELLE
MI
28.12
SCHNELLE
UN
28.1 PAIR
UND TUPLE
979
28.1.1
MEHRERE WERTE ZURUECKGEBEN
980
28.2
REGULAERE AUSDRUECKE
987
29
THREADS
28.2.1
MATCHEN UND
SUCHEN
988
28.2.2
ERGEBNIS UND TEILE
DAVON
988
29.1
C++-THREAD
28.2.3
GEFUNDENES
ERSETZEN
989
29.1.1
STA
28.2.4
REICH AN
VARIANTEN
990
29.1.2
EINL
28.2.5
ITERATOREN
990
29.1.3
WA
28.2.6
MATCHES
991
29.1.4
IM
28.2.7 OPTIONEN
991
29.1.5
EIN
28.2.8
GESCHWINDIGKEIT
992
29.1.6
EIN
28.2.9
STANDARDSYNTAX LEICHT
GEKUERZT
992
29.1.7
WIG
28.2.10 ANMERKUNGEN
ZU
REGULAEREN AUSDRUECKEN
IN C++
994
29.1.8
WE
28.3 ZUFALL
997
29.2
GEMEINSAN
28.3.1
EINEN WUERFEL
WERFEN
998
29.2.1
DAL
28.3.2
ECHTER
ZUFALL
1000
29.2.2
RIE
28.3.3
ANDERE
GENERATOREN
1000
29.2.3
BAI
28.3.4
VERTEILUNGEN
1002
29.2.4
ML
28.4
MATHEMATISCHES
1006
29.2.5
INT
28.4.1
BRUECHE
UND ZEITEN -
RATIO UND
CHRONO
1006
29.2.6
SP(
28.4.2
VORDEFINIERTE SUFFIXE FUER
BENUTZERDEFINIERTE
LITERALE
1030
29.2.7
FLE
28.5
SYSTEMFEHLERBEHANDLUNG
MIT
SYSTEM_ERROR
1033
29.3
ANDERE
5
28.5.1
UEBERBLICK
1034
29.3.1
NU
28.5.2
PRINZIPIEN
1035
29.3.2
SPG
28.5.3
ERROR_CODE
UND ERROR_CONDITION
1036
29.4
IM
EIGENEN
28.5.4
FEHLERKATEGORIEN
1040
22
INHALT
28.5.5
EIGENE
FEHLERCODES
1040
28.5.6 SYSTEM_ERROR-EXCEPTION
1041
28.6
LAUFZEITTYPINFORMATIONEN -
TYPEINFO
UND TYPEINDEX
1043
28.7
HILFSKLASSEN RUND UM FUNKTOREN
- FUNCTIONAL
1047
28.7.1
FUNKTIONSOBJEKTE
1048
28.7.2
FUNKTIONSGENERATOREN
1052
28.8
OPTIONAL FUER EINEN
ODER KEINEN WERT
1055
28.9
VARIANT FUER EINEN VON
MEHREREN TYPEN
1056
28.10
ANY HAELT JEDEN
TYP
1058
28.11 SPEZIELLE
MATHEMATISCHE
FUNKTIONEN
1059
28.12 SCHNELLE
UMWANDLUNG MIT
CHARCONV
1060
29 THREADS -
PROGRAMMIEREN MIT
MEHRLAEUFIGKEIT
1063
29.1 C++
-
THREADING-GRUNDLAGEN
1064
29.1.1 STARTEN VON
REINEN THREADS
1065
29.1.2
EINEN THREAD VORZEITIG
BEENDEN
1067
29.1.3
WARTEN AUF EINEN THREAD
1068
29.1.4 IM
STARTENDEN THREAD EXCEPTIONS
BERUECKSICHTIGEN
1069
29.1.5
EINER THREADFUNKTION
PARAMETER UEBERGEBEN
1072
29.1.6
EINEN
THREAD VERSCHIEBEN
1077
29.1.7 WIE VIELE THREADS
STARTEN?
1079
29.1.8 WELCHER THREAD
BIN ICH?
1082
29.2 GEMEINSAME
DATEN
1082
29.2.1 DATA RACES
1083
29.2.2 RIEGEL
1086
29.2.3
BARRIEREN
1086
29.2.4
MUTEXE
1088
29.2.5
INTERFACE-DESIGN
FUER MULTITHREADING
1091
29.2.6 SPERREN KOENNEN ZUM
PATT FUEHREN
1096
29.2.7
FLEXIBLERES SPERREN
MIT UNIQUE_LOCK
1098
29.3 ANDERE
MOEGLICHKEITEN ZUR
SYNCHRONISATION
1100
29.3.1 NUR EINMAL
AUFRUFEN MIT ONCE_FLAG
UND CALL_ONCE
1100
29.3.2 SPERREN ZAEHLEN
MIT RECURSIVE_MUTEX
1102
29.4 IM EIGENEN
SPEICHER MIT THREAD_LOCAL
1104
T
23
INHALT
29.5 MIT
CONDITION_VARIABLE AUF
EREIGNISSE WARTEN
29.5.1
NOTIFY_ALL
29.5.2
AUSGABE SYNCHRONISIEREN
29.6
EINMAL WARTEN MIT
FUTURE
1105
1108
1109
1110
29.6.1
LAUNCH POLICIES
1112
29.6.2
GEWISSE ZEIT WARTEN
1113
29.6.3
AUSNAHMEBEHANDLUNG
BEI FUTURE
1116
29.6.4
PROMISE
1118
29.7 ATOMICS
1122
29.7.1
UEBERSICHT
UEBER DIE OPERATIONEN
1123
29.7.2
MEMORY ORDER
1125
29.7.3 BEISPIEL
1126
29.8 KOROUTINEN
1127
29.8.1
KOROUTINEN IM COMPILER
1128
29.8.2 GENERATOR
1129
29.8.3
KOROUTINEN
MIT PROMISE_TYPE
1130
29.9
ZUSAMMENFASSUNG
1133
29.9.1
HEADER THREAD
1134
29.9.2
HEADER LATCH UND
BARRIER
1134
29.9.3
HEADER MUTEX
UND SHARED MUTEX
1134
29.9.4
HEADER
CONDITION VARIABLE
1135
29.9.5
HEADER
FUTURE
1135
29.9.6
HEADER ATOMIC
1136
29.9.7
HEADER COROUTINE
1136
ANHANG
1137
A
GUTER CODE, 7. DAN: RICHTLINIEN
1137
A.1
GUIDELINE SUPPORT
LIBRARY
1138
A.2
C++ CORE GUIDELINES
1139
B
CHEAT SHEET
1153
INDEX
1157
24
VORWORT
VIELEN
DANK,
DASS
DERNE
FEATURES, DI
DAS INTERNET
NAC
GEN STIL
AN, DER ABE
HAT:
RAII VORNEWE
WIE
IMMER NEHME
INSBESONDERE
DORT
IN DIESER
AUFLAGE G
DA
INZWISCHEN
ALL(
SOLCHEN
FEATURES
E
DUNG
VON
C++20
SCHRIFTBILDLICHE
HE
TURES,
AUF DIE
ICH 2
BEI DIESEN IST DIE (
ICH
WILL SIE KURZ
AT
ABER
IN NAHEZU ALL
PILER SIE NICHT BET
REN IN
VECTOR
DAT
STRING_VIEW
WERDE
EINIGE
WEITERE KLE
FUNKTIONSTEMPLATI
ABER
MANCHMAL
S
AUTO
SEHEN, DANN 1
ES GIBT
JEDOCH AUC
DAZU
NICHT
VIELE TI
WIRD, IST DIES
FUER P
BEI DEN
RECHERCHE
NIKEN
DER AKTUELL
EINEN
KI-ASSISTEN
ZU BLEIBEN. DAHER
HABEN,
ZU EINEM
I
LIEH BEEINDRUCKET
DIE
NEUERUNGEN I
AKTUELL
PLAPPERN
BESTEHEN SO
HERG |
any_adam_object | 1 |
author | Will, Torsten T. 1970- |
author_GND | (DE-588)1020320966 |
author_facet | Will, Torsten T. 1970- |
author_role | aut |
author_sort | Will, Torsten T. 1970- |
author_variant | t t w tt ttw |
building | Verbundindex |
bvnumber | BV049695877 |
classification_rvk | ST 250 |
classification_tum | DAT 358f |
ctrlnum | (OCoLC)1437879904 (DE-599)BVBBV049695877 |
dewey-full | 005.133 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security 004 - Computer science |
dewey-raw | 005.133 004 |
dewey-search | 005.133 004 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 3., aktualisierte Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV049695877</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20241209</controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">240524s2024 gw a||| |||| 00||| ger d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1319581048</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836298537</subfield><subfield code="c">Festeinband : EUR 49.90 (DE), EUR 51.30 (AT), CHF 63.90 (freier Preis)</subfield><subfield code="9">978-3-8362-9853-7</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3836298538</subfield><subfield code="9">3-8362-9853-8</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1437879904</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV049695877</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">DE</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-1102</subfield><subfield code="a">DE-1050</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-573n</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">23/ger</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield><subfield code="2">23</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 358f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Will, Torsten T.</subfield><subfield code="d">1970-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1020320966</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">C++</subfield><subfield code="b">das umfassende Handbuch</subfield><subfield code="c">Torsten T. Will</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3., aktualisierte Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Rheinwerk Verlag</subfield><subfield code="c">2024</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1172 Seiten</subfield><subfield code="b">Illustrationen</subfield><subfield code="c">24 cm x 16.8 cm</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Rheinwerk Computing</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Auf dem Umschlag: Aktuell zu C++ 23, alle Beispielprojekte zum Download</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Auf dem Umschlag: das Lehr- und Nachschlagewerk zu Modern C++; Sprachgrundlagen, OOP, Standardbibliothek u.v.m. ; C++ Core Guidelines und Techniken für guten Code</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++14</subfield><subfield code="0">(DE-588)1056920483</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++11</subfield><subfield code="0">(DE-588)7847900-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++23</subfield><subfield code="0">(DE-588)1317339894</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++17</subfield><subfield code="0">(DE-588)1147325278</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">programmieren</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">C++11</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">C++14</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">C++17</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">guter Code</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">OOP</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">objektorientierte Programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">C++-Standardbibliothek</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">C-Programmierung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Qt</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">GUI-Entwicklung</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">C++11</subfield><subfield code="0">(DE-588)7847900-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">C++14</subfield><subfield code="0">(DE-588)1056920483</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">C++17</subfield><subfield code="0">(DE-588)1147325278</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">C++23</subfield><subfield code="0">(DE-588)1317339894</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Rheinwerk Verlag</subfield><subfield code="0">(DE-588)1081738405</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe, PDF</subfield><subfield code="z">978-3-8362-4361-2</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-3-8362-9855-1</subfield><subfield code="w">(DE-604)BV049791282</subfield></datafield><datafield tag="780" ind1="0" ind2="0"><subfield code="i">Ersatz von</subfield><subfield code="z">978-3-8362-7593-4</subfield><subfield code="w">(DE-604)BV046832667</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="q">text/html</subfield><subfield code="u">https://deposit.dnb.de/cgi-bin/dokserv?id=f5e7cb8171324487941abc329abf08c3&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung Bibliothek HTW Berlin</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=035038388&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-035038388</subfield></datafield></record></collection> |
id | DE-604.BV049695877 |
illustrated | Illustrated |
indexdate | 2024-12-09T15:01:41Z |
institution | BVB |
institution_GND | (DE-588)1081738405 |
isbn | 9783836298537 3836298538 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-035038388 |
oclc_num | 1437879904 |
open_access_boolean | |
owner | DE-1102 DE-1050 DE-29T DE-523 DE-Aug4 DE-706 DE-898 DE-BY-UBR DE-11 DE-860 DE-859 DE-703 DE-573n |
owner_facet | DE-1102 DE-1050 DE-29T DE-523 DE-Aug4 DE-706 DE-898 DE-BY-UBR DE-11 DE-860 DE-859 DE-703 DE-573n |
physical | 1172 Seiten Illustrationen 24 cm x 16.8 cm |
publishDate | 2024 |
publishDateSearch | 2024 |
publishDateSort | 2024 |
publisher | Rheinwerk Verlag |
record_format | marc |
series2 | Rheinwerk Computing |
spelling | Will, Torsten T. 1970- Verfasser (DE-588)1020320966 aut C++ das umfassende Handbuch Torsten T. Will 3., aktualisierte Auflage Bonn Rheinwerk Verlag 2024 1172 Seiten Illustrationen 24 cm x 16.8 cm txt rdacontent n rdamedia nc rdacarrier Rheinwerk Computing Auf dem Umschlag: Aktuell zu C++ 23, alle Beispielprojekte zum Download Auf dem Umschlag: das Lehr- und Nachschlagewerk zu Modern C++; Sprachgrundlagen, OOP, Standardbibliothek u.v.m. ; C++ Core Guidelines und Techniken für guten Code C++14 (DE-588)1056920483 gnd rswk-swf C++11 (DE-588)7847900-9 gnd rswk-swf C++23 (DE-588)1317339894 gnd rswk-swf Programmierung (DE-588)4076370-5 gnd rswk-swf C++17 (DE-588)1147325278 gnd rswk-swf C++ (DE-588)4193909-8 gnd rswk-swf programmieren Programmierung C++11 C++14 C++17 guter Code OOP objektorientierte Programmierung C++-Standardbibliothek C-Programmierung Qt GUI-Entwicklung C++ (DE-588)4193909-8 s C++11 (DE-588)7847900-9 s C++14 (DE-588)1056920483 s C++17 (DE-588)1147325278 s DE-604 Programmierung (DE-588)4076370-5 s C++23 (DE-588)1317339894 s Rheinwerk Verlag (DE-588)1081738405 pbl Erscheint auch als Online-Ausgabe, PDF 978-3-8362-4361-2 Erscheint auch als Online-Ausgabe 978-3-8362-9855-1 (DE-604)BV049791282 Ersatz von 978-3-8362-7593-4 (DE-604)BV046832667 text/html https://deposit.dnb.de/cgi-bin/dokserv?id=f5e7cb8171324487941abc329abf08c3&prov=M&dok_var=1&dok_ext=htm Inhaltstext Digitalisierung Bibliothek HTW Berlin application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=035038388&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Will, Torsten T. 1970- C++ das umfassende Handbuch C++14 (DE-588)1056920483 gnd C++11 (DE-588)7847900-9 gnd C++23 (DE-588)1317339894 gnd Programmierung (DE-588)4076370-5 gnd C++17 (DE-588)1147325278 gnd C++ (DE-588)4193909-8 gnd |
subject_GND | (DE-588)1056920483 (DE-588)7847900-9 (DE-588)1317339894 (DE-588)4076370-5 (DE-588)1147325278 (DE-588)4193909-8 |
title | C++ das umfassende Handbuch |
title_auth | C++ das umfassende Handbuch |
title_exact_search | C++ das umfassende Handbuch |
title_full | C++ das umfassende Handbuch Torsten T. Will |
title_fullStr | C++ das umfassende Handbuch Torsten T. Will |
title_full_unstemmed | C++ das umfassende Handbuch Torsten T. Will |
title_short | C++ |
title_sort | c das umfassende handbuch |
title_sub | das umfassende Handbuch |
topic | C++14 (DE-588)1056920483 gnd C++11 (DE-588)7847900-9 gnd C++23 (DE-588)1317339894 gnd Programmierung (DE-588)4076370-5 gnd C++17 (DE-588)1147325278 gnd C++ (DE-588)4193909-8 gnd |
topic_facet | C++14 C++11 C++23 Programmierung C++17 C++ |
url | https://deposit.dnb.de/cgi-bin/dokserv?id=f5e7cb8171324487941abc329abf08c3&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=035038388&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT willtorstent cdasumfassendehandbuch AT rheinwerkverlag cdasumfassendehandbuch |