Sie sind hier
E-Book

Die C++-Programmiersprache

aktuell zum C++11-Standard

AutorBjarne Stroustrup
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2015
Seitenanzahl1467 Seiten
ISBN9783446439818
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis49,99 EUR
DIE C++-PROGRAMMIERSPRACHE//
- C++11 - zugänglich für Programmierer, die von C++98 oder anderen Sprachen kommen, wobei die vorgestellten Einblicke und Techniken selbst C++11-Spitzenprogrammierer unverzichtbar finden werden.
- Referenz und Tutorial für Programmierer, die C++ möglichst effektiv einsetzen möchten.
- Der neue C++11-Standard ermöglicht es Programmierern, Ideen klarer, einfacher und direkter auszudrücken sowie schnelleren und effizienteren Code zu schreiben.
Die C++-Programmiersprache ist eine akkurate, ausführlich erläuterte und ganzheitliche Darstellung der vollständigen Sprache - mit all ihren Instrumenten, Abstraktionsmechanismen, Standardbibliotheken und wichtigsten Entwurfstechniken. Stroustrup präsentiert das ganze Buch hindurch knappe, 'reine C++11-Beispiele', die sowohl den Einsatz der Sprachmittel als auch den Programmentwurf anschaulich darstellen. Zum umfassenden Verständnis gibt der Autor zahlreiche Querverweise auf andere Stellen im Buch sowie auf den ISO-Standard an.
Neuigkeiten im Rahmen von C++11 sind
- Unterstützung für Nebenläufigkeit,
- reguläre Ausdrücke, Ressourcenverwaltungszeiger, Zufallszahlen und verbesserte Container,
- Allgemeine und einheitliche Initialisierung, vereinfachte for-Anweisungen, Verschiebesemantik und Unicode-Unterstützung,
- Lambda-Ausdrücke, allgemeine konstante Ausdrücke, Kontrolle über Standardwerte von Klassen, variadische Templates, Template-Alias und benutzerdefinierte Literale,
- Kompatibilitätsfragen.
AUS DEM INHALT //
Elementare Sprachmittel: Typ, Objekt, Gültigkeitsbereich, Speicherung, arithmetische Grundlagen und weitere // Modularität, die durch Namespaces, Quelldateien und Ausnahmenbehandlung unterstützt wird // C++-Abstraktion einschließlich Klassen, Klassenhierarchien und Templates für eine Synthese von herkömmlicher, objektorientierter und generischer Programmierung // Standardbibliothek: Container, Algorithmen, Iteratoren, Utilities, Strings, Stream-E/A, Locales, Numerik und weitere // Das grundlegende C++-Speichermodell im Detail

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Inhalt6
Vorwort32
Teil I Einführung36
1 Vorbemerkungen38
1.1?Zum Aufbau dieses Buchs38
1.1.1?Einführung39
1.1.2?Grundlegende Sprachmittel39
1.1.3?Abstraktionsmechanismen40
1.1.4?Die Standardbibliothek42
1.1.5?Beispiele und Referenzen43
1.2?Der Entwurf von C++45
1.2.1?Programmierstile47
1.2.2?Typprüfung50
1.2.3?C-Kompatibilität51
1.2.4?Sprache, Bibliotheken und Systeme52
1.3?C++ lernen54
1.3.1?In C++ programmieren56
1.3.2?Ratschläge für C++-Programmierer57
1.3.3?Ratschläge für C-Programmierer58
1.3.4?Ratschläge für Java-Programmierer59
1.4?Historische Anmerkungen60
1.4.1?Chronik61
1.4.2?Die frühen Jahre62
1.4.2.1?Sprachfeatures und Bibliotheksinstrumente63
1.4.3?Der 1998-Standard65
1.4.3.1?Sprachfeatures65
1.4.3.2?Die Standardbibliothek66
1.4.4?Der 2011-Standard67
1.4.4.1?Sprachfeatures68
1.4.4.2?Standardbibliothek69
1.4.5?Wofür wird C++ verwendet?70
1.5?Ratschläge72
1.6?Literaturhinweise73
2 Ein Rundreise durch C++: Die Grundlagen78
2.1?Einführung78
2.2?Die Grundlagen79
2.2.1?Hello, World!79
2.2.2?Typen, Variablen und Arithmetik81
2.2.3?Konstanten83
2.2.4?Tests und Schleifen84
2.2.5?Zeiger, Arrays und Schleifen86
2.3?Benutzerdefinierte Typen88
2.3.1?Strukturen88
2.3.2?Klassen90
2.3.3?Aufzählungen92
2.4?Modularität93
2.4.1?Separate Kompilierung94
2.4.2?Namespaces95
2.4.3?Fehlerbehandlung96
2.4.3.1?Ausnahmen97
2.4.3.2?Invarianten98
2.4.3.3?Statische Assertionen99
2.5?Nachbemerkung100
2.6?Ratschläge100
3 Eine Rundreise durch C++: Abstraktionsmechanismen102
3.1?Einführung102
3.2?Klassen103
3.2.1?Konkrete Typen103
3.2.1.1?Ein arithmetischer Typ104
3.2.1.2?Ein Container106
3.2.1.3?Container initialisieren107
3.2.2?Abstrakte Typen108
3.2.3?Virtuelle Funktionen111
3.2.4?Klassenhierarchien112
3.3?Kopieren und verschieben116
3.3.1?Container kopieren116
3.3.2?Container verschieben118
3.3.3?Ressourcenverwaltung120
3.3.4?Operationen unterdrücken121
3.4?Templates122
3.4.1?Parametrisierte Typen122
3.4.2?Funktions-Templates123
3.4.3?Funktionsobjekte124
3.4.4?Variadische Templates127
3.4.5?Alias128
3.5?Ratschläge129
4 Eine Rundreise durch C++: Container und Algorithmen130
4.1?Bibliotheken130
4.1.1?Überblick über die Standardbibliothek131
4.1.2?Header und Namespace der Standardbibliothek132
4.2?Strings133
4.3?Stream-Ein-/Ausgabe135
4.3.1?Ausgabe135
4.3.2?Eingabe136
4.3.3?Ein-/Ausgabe von benutzerdefinierten Typen137
4.4?Container139
4.4.1?vector139
4.4.1.1?Elemente141
4.4.1.2?Bereichsüberprüfung141
4.4.2?list142
4.4.3?map144
4.4.4?unordered_map145
4.4.5?Überblick über Container145
4.5?Algorithmen147
4.5.1?Iteratoren verwenden148
4.5.2?Iteratortypen150
4.5.3?Stream-Iteratoren151
4.5.4?Prädikate153
4.5.5?Überblick über Algorithmen153
4.5.6?Containeralgorithmen154
4.6?Ratschläge155
5 Eine Rundreise durch C++: Nebenläufigkeit und Dienstprogramme156
5.1?Einführung156
5.2?Ressourcenverwaltung156
5.2.1?unique_ptr und shared_ptr157
5.3?Nebenläufigkeit159
5.3.1?Tasks und Threads160
5.3.2?Argumente übergeben161
5.3.3?Ergebnisse zurückgeben162
5.3.4?Daten gemeinsam nutzen162
5.3.4.1?Warten auf Ereignisse164
5.3.5?Kommunizierende Tasks165
5.3.5.1?future und promise166
5.3.5.2?packaged_task167
5.3.5.3?async()168
5.4?Kleine Hilfskomponenten169
5.4.1?Zeit169
5.4.2?Typfunktionen170
5.4.2.1?iterator_traits170
5.4.2.2?Typprädikate172
5.4.3?pair und tuple173
5.5?Reguläre Ausdrücke174
5.6?Mathematik175
5.6.1?Mathematische Funktionen und Algorithmen175
5.6.2?Komplexe Zahlen175
5.6.3?Zufallszahlen176
5.6.4?Vektorarithmetik178
5.6.5?Numerische Grenzen179
5.7?Ratschläge179
Teil II Grundlegende Sprachelemente180
6 Typen und Deklarationen182
6.1?Der ISO-C++-Standard182
6.1.1?Implementierungen184
6.1.2?Der grundlegende Quellzeichensatz184
6.2?Typen185
6.2.1?Fundamentale Typen185
6.2.2?Boolesche Typen186
6.2.3?Zeichentypen188
6.2.3.1?Vorzeichenbehaftete und vorzeichenlose Zeichen190
6.2.3.2?Zeichenliterale191
6.2.4?Ganzzahltypen193
6.2.4.1?Ganzzahlliterale193
6.2.4.2?Typen von Ganzzahlliteralen194
6.2.5?Gleitkommatypen195
6.2.5.1?Gleitkommaliterale195
6.2.6?Präfixe und Suffixe196
6.2.7?void197
6.2.8?Größen197
6.2.9?Ausrichtung200
6.3?Deklarationen201
6.3.1?Die Struktur von Deklarationen203
6.3.2?Mehrere Namen deklarieren204
6.3.3?Namen205
6.3.3.1?Schlüsselwörter206
6.3.4?Gültigkeitsbereiche207
6.3.5?Initialisierung209
6.3.5.1?Fehlende Initialisierer212
6.3.5.2?Initialisierungslisten213
6.3.6?Einen Typ herleiten: auto und decltype()214
6.3.6.1?Der Typspezifizierer auto214
6.3.6.2?auto und {}-Listen215
6.3.6.3?Der Spezifizierer decltype()216
6.4?Objekte und Werte217
6.4.1?L-Werte und R-Werte217
6.4.2?Lebensdauer von Objekten218
6.5?Typalias219
6.6?Ratschläge220
7 Zeiger, Arrays und Referenzen222
7.1?Einführung222
7.2?Zeiger222
7.2.1?void*223
7.2.2?nullptr224
7.3?Arrays225
7.3.1?Array-Initialisierer226
7.3.2?Stringliterale227
7.3.2.1?Rohe Zeichen-Strings229
7.3.2.2?Größere Zeichensätze230
7.4?Zeiger auf Arrays231
7.4.1?Navigieren in Arrays233
7.4.2?Mehrdimensionale Arrays235
7.4.3?Arrays übergeben236
7.5?Zeiger und const238
7.6?Zeiger und Besitz240
7.7?Referenzen241
7.7.1?L-Wert-Referenzen243
7.7.2?R-Wert-Referenzen246
7.7.3?Referenzen auf Referenzen249
7.7.4?Zeiger und Referenzen250
7.8?Ratschläge252
8 Strukturen, Unions und Aufzählungen254
8.1?Einführung254
8.2?Strukturen254
8.2.1?Layout einer Struktur256
8.2.2?Namen von Strukturen257
8.2.3?Strukturen und Klassen259
8.2.4?Strukturen und Arrays260
8.2.5?Typäquivalenz262
8.2.6?Plain Old Data263
8.2.7?Felder265
8.3?Unions266
8.3.1?Unions und Klassen268
8.3.2?Anonyme Unions269
8.4?Aufzählungen272
8.4.1?Aufzählungsklassen272
8.4.2?Einfache Aufzählungen276
8.4.3?Unbenannte Aufzählungen278
8.5?Ratschläge278
9 Anweisungen280
9.1?Einführung280
9.2?Zusammenfassung der Anweisungen280
9.3?Deklarationen als Anweisungen282
9.4?Auswahlanweisungen283
9.4.1?if-Anweisungen283
9.4.2?switch-Anweisungen285
9.4.2.1?Deklarationen in case-Zweigen287
9.4.3?Deklarationen in Bedingungen287
9.5?Schleifenanweisungen288
9.5.1?Bereichsbasierte for-Anweisungen289
9.5.2?for-Anweisungen290
9.5.3?while-Anweisungen291
9.5.4?do-Anweisungen292
9.5.5?Schleifen verlassen292
9.6?goto-Anweisungen293
9.7?Kommentare und Einrückungen294
9.8?Ratschläge296
10 Ausdrücke298
10.1?Einführung298
10.2?Ein Taschenrechner298
10.2.1?Der Parser299
10.2.2?Eingabe303
10.2.3?Low-level-Eingabe307
10.2.4?Fehlerbehandlung309
10.2.5?Das Rahmenprogramm309
10.2.6?Header310
10.2.7?Befehlszeilenargumente311
10.2.8?Eine Anmerkung zum Stil312
10.3?Zusammenfassung der Operatoren313
10.3.1?Ergebnisse317
10.3.2?Reihenfolge der Auswertung318
10.3.3?Operatorrangfolge319
10.3.4?Temporäre Objekte320
10.4?Konstante Ausdrücke322
10.4.1?Symbolische Konstanten324
10.4.2?const-Typen in konstanten Ausdrücken325
10.4.3?Literale Typen325
10.4.4?Referenzargumente326
10.4.5?Adresse konstanter Ausdrücke327
10.5?Implizite Typkonvertierung327
10.5.1?Heraufstufungen328
10.5.2?Konvertierungen328
10.5.2.1?Integrale Konvertierungen329
10.5.2.2?Gleitkommakonvertierungen329
10.5.2.3?Zeiger- und Referenzkonvertierungen330
10.5.2.4?Zeiger-auf-Member-Konvertierungen330
10.5.2.5?Boolesche Konvertierungen330
10.5.2.6?Gleitkomma-Ganzzahl-Konvertierungen331
10.5.3?Übliche arithmetische Konvertierungen332
10.6?Ratschläge332
11 Auswahloperationen334
11.1?Diverse Operatoren334
11.1.1?Logische Operatoren334
11.1.2?Bitweise logische Operatoren334
11.1.3?Bedingte Ausdrücke336
11.1.4?Inkrementieren und Dekrementieren336
11.2?Freispeicher338
11.2.1?Speicherverwaltung340
11.2.2?Arrays343
11.2.3?Speicherplatz beschaffen344
11.2.4?Überladen von new345
11.2.4.1?nothrow new347
11.3?Listen348
11.3.1?Implementierungsmodell348
11.3.2?Qualifizierte Listen350
11.3.3?Unqualifizierte Listen350
11.4?Lambda-Ausdrücke352
11.4.1?Implementierungsmodelle353
11.4.2?Alternativen für Lambda-Ausdrücke354
11.4.3?Erfassung356
11.4.3.1?Lambda und Lebensdauer358
11.4.3.2?Namen von Namespaces359
11.4.3.3?Lambda und this359
11.4.3.4?Veränderbare Lambda-Ausdrücke359
11.4.4?Aufruf und Rückgabe360
11.4.5?Der Typ eines Lambda-Ausdrucks360
11.5?Explizite Typumwandlung361
11.5.1?Konstruktion363
11.5.2?Benannte Typumwandlungen364
11.5.3?C-Typumwandlungen366
11.5.4?Funktionale Typumwandlung366
11.6?Ratschläge367
12 Funktionen368
12.1?Funktionsdeklarationen368
12.1.1?Warum Funktionen?369
12.1.2?Bestandteile einer Funktionsdeklaration369
12.1.3?Funktionsdefinitionen370
12.1.4?Werte zurückgeben372
12.1.5?Inline-Funktionen374
12.1.6?constexpr-Funktionen375
12.1.6.1?constexpr und Referenzen376
12.1.6.2?Bedingte Auswertung377
12.1.7?[[noreturn]]-Funktionen377
12.1.8?Lokale Variablen378
12.2?Argumentübergabe379
12.2.1?Referenzargumente380
12.2.2?Array-Argumente382
12.2.3?Listenargumente384
12.2.4?Nicht angegebene Anzahl von Argumenten385
12.2.5?Standardargumente389
12.3?Überladene Funktionen391
12.3.1?Automatische Auflösung von Überladungen391
12.3.2?Überladen und Rückgabetyp393
12.3.3?Überladen und Gültigkeitsbereiche394
12.3.4?Auflösung für mehrere Argumente395
12.3.5?Manuelle Auflösung von Überladungen395
12.4?Vor- und Nachbedingungen396
12.5?Zeiger auf Funktion398
12.6?Makros402
12.6.1?Bedingte Übersetzung405
12.6.2?Vordefinierte Makros406
12.6.3?Pragmas407
12.7?Ratschläge407
13 Ausnahmenbehandlung410
13.1?Fehlerbehandlung410
13.1.1?Ausnahmen411
13.1.2?Herkömmliche Fehlerbehandlung413
13.1.3?Durchhangeln414
13.1.4?Alternative Ansichten von Ausnahmen415
13.1.4.1?Asynchrone Ereignisse415
13.1.4.2?Ausnahmen, die keine Fehler sind415
13.1.5?Wann Sie keine Ausnahmen verwenden können416
13.1.6?Hierarchische Fehlerbehandlung417
13.1.7?Ausnahmen und Effizienz419
13.2?Ausnahmegarantien421
13.3?Ressourcenverwaltung423
13.3.1?finally426
13.4?Invarianten erzwingen428
13.5?Ausnahmen auslösen und abfangen433
13.5.1?Ausnahmen auslösen433
13.5.1.1?noexcept-Funktionen435
13.5.1.2?Der Operator noexcept435
13.5.1.3?Ausnahmespezifikationen436
13.5.2?Ausnahmen abfangen437
13.5.2.1?Ausnahmen erneut auslösen438
13.5.2.2?Jede Ausnahme abfangen439
13.5.2.3?Mehrere Handler440
13.5.2.4?try-Blöcke in Funktionen440
13.5.2.5?Beendigung442
13.5.3?Ausnahmen und Threads444
13.6?Eine vector-Implementierung445
13.6.1?Ein einfacher vector445
13.6.2?Speicher explizit darstellen449
13.6.3?Zuweisung452
13.6.4?Größe ändern454
13.6.4.1?reserve()455
13.6.4.2?resize()456
13.6.4.3?push_back()456
13.6.4.4?Abschließende Gedanken457
13.7?Ratschläge458
14 Namespaces460
14.1?Kompositionsprobleme460
14.2?Namespaces461
14.2.1?Explizite Qualifizierung463
14.2.2?using-Deklarationen464
14.2.3?using-Direktiven465
14.2.4?Argumentabhängige Namensauflösung466
14.2.5?Namespaces sind offen469
14.3?Modularisierung und Schnittstellen470
14.3.1?Namespaces als Module471
14.3.2?Implementierungen473
14.3.3?Schnittstellen und Implementierungen475
14.4?Komposition mit Namespaces477
14.4.1?Komfort vs. Sicherheit477
14.4.2?Namespace-Alias478
14.4.3?Namespaces zusammensetzen479
14.4.4?Komposition und Auswahl480
14.4.5?Namespaces und Überladen481
14.4.6?Versionsverwaltung483
14.4.7?Verschachtelte Namespaces485
14.4.8?Unbenannte Namespaces486
14.4.9?C-Header487
14.5?Ratschläge488
15 Quelldateien und Programme490
15.1?Separate Übersetzung490
15.2?Binden491
15.2.1?Dateilokale Namen494
15.2.2?Header-Dateien495
15.2.3?Die Eine-Definition-Regel497
15.2.4?Header der Standardbibliothek499
15.2.5?Binden mit Nicht-C++-Code500
15.2.6?Binden und Zeiger auf Funktionen502
15.3?Header-Dateien verwenden503
15.3.1?Organisation mit einzelnem Header503
15.3.2?Organisation mit mehreren Header-Dateien507
15.3.2.1?Andere Taschenrechnermodule510
15.3.2.2?Header verwenden512
15.3.3?Include-Wächter513
15.4?Programme514
15.4.1?Initialisierung von nichtlokalen Variablen514
15.4.2?Initialisierung und Nebenläufigkeit515
15.4.3?Programmbeendigung516
15.5?Ratschläge518
Teil III Abstraktions­mechanismen520
16 Klassen522
16.1?Einführung522
16.2?Grundlagen von Klassen523
16.2.1?Member-Funktionen524
16.2.2?Standardmäßiges Kopieren525
16.2.3?Zugriffskontrolle526
16.2.4?class und struct527
16.2.5?Konstruktoren529
16.2.6?Explizite Konstruktoren531
16.2.7?Klasseninterne Initialisierer533
16.2.8?Klasseninterne Funktionsdefinitionen534
16.2.9?Veränderlichkeit535
16.2.9.1?Konstante Member-Funktionen535
16.2.9.2?Physische und logische Konstanz536
16.2.9.3?mutable537
16.2.9.4?Veränderlichkeit über Indirektion537
16.2.10?Selbstreferenz538
16.2.11?Member-Zugriff540
16.2.12?Statische Member541
16.2.13?Member-Typen543
16.3?Konkrete Klassen544
16.3.1?Member-Funktionen547
16.3.2?Hilfsfunktionen550
16.3.3?Überladene Operatoren551
16.3.4?Der Stellenwert von konkreten Klassen552
16.4?Ratschläge553
17 Konstruieren, Aufräumen, Kopieren und Verschieben556
17.1?Einführung556
17.2?Konstruktoren und Destruktoren558
17.2.1?Konstruktoren und Invarianten559
17.2.2?Destruktoren und Ressourcen560
17.2.3?Basis- und Member-Destruktoren561
17.2.4?Konstruktoren und Destruktoren aufrufen562
17.2.5?Virtuelle Destruktoren563
17.3?Initialisierung von Klassenobjekten564
17.3.1?Initialisierung ohne Konstruktoren564
17.3.2?Initialisierung mithilfe von Konstruktoren566
17.3.2.1?Initialisierung durch Konstruktoren568
17.3.3?Standardkonstruktoren569
17.3.4?Initialisierungslisten-Konstruktoren571
17.3.4.1?Mehrdeutigkeiten bei Initialisierungslisten-Konstruktoren auflösen572
17.3.4.2?Initialisierungslisten verwenden573
17.3.4.3?Direkte und Kopierinitialisierung574
17.4 Initialisierung von Membern und Basisklassen576
17.4.1?Member-Initialisierung576
17.4.1.1?Member-Initialisierung und -Zuweisung577
17.4.2?Basisklassen-Initialisierer578
17.4.3?Konstruktoren delegieren578
17.4.4?Klasseninterne Initialisierer579
17.4.5?Initialisierer statischer Member581
17.5?Kopieren und verschieben582
17.5.1?Kopieren583
17.5.1.1?Vorsicht vor Standardkonstruktoren585
17.5.1.2?Kopieren von Basisklassen585
17.5.1.3?Was Kopieren bedeutet586
17.5.1.4?Slicing589
17.5.2?Verschieben590
17.6?Standardoperationen generieren594
17.6.1?Explizite Standardoperationen595
17.6.2?Standardoperationen596
17.6.3?Standardoperationen verwenden597
17.6.3.1?Standardkonstruktoren597
17.6.3.2?Invarianten bewahren597
17.6.3.3?Ressourceninvarianten598
17.6.3.4?Partiell spezifizierte Invarianten599
17.6.4?Gelöschte Funktionen601
17.7?Ratschläge603
18 Überladen von Operatoren606
18.1?Einführung606
18.2?Operatorfunktionen608
18.2.1?Binäre und unäre Operatoren609
18.2.2?Vordefinierte Bedeutungen für Operatoren610
18.2.3?Operatoren und benutzerdefinierte Typen611
18.2.4?Objekte übergeben611
18.2.5?Operatoren in Namespaces613
18.3?Ein Typ für komplexe Zahlen615
18.3.1?Member- und Nicht-Member-Operatoren615
18.3.2?Arithmetik mit gemischten Datentypen616
18.3.3?Konvertierungen617
18.3.3.1?Konvertierung von Operanden619
18.3.4?Literale620
18.3.5?Zugriffsfunktionen621
18.3.6?Hilfsfunktionen622
18.4?Typumwandlung623
18.4.1?Konvertierungsoperatoren623
18.4.2?Explizite Konvertierungsoperatoren625
18.4.3?Mehrdeutigkeiten626
18.5?Ratschläge628
19 Spezielle Operatoren630
19.1?Einführung630
19.2?Spezielle Operatoren630
19.2.1?Indizierung630
19.2.2?Funktionsaufruf631
19.2.3?Dereferenzieren633
19.2.4?Inkrementieren und Dekrementieren635
19.2.5?Allokation und Deallokation637
19.2.6?Benutzerdefinierte Literale639
19.3?Eine String-Klasse642
19.3.1?Wesentliche Operationen643
19.3.2?Zugriff auf Zeichen643
19.3.3?Darstellung644
19.3.3.1?Ergänzende Funktionen646
19.3.4?Member-Funktionen647
19.3.5?Hilfsfunktionen650
19.3.6?Unsere String-Klasse verwenden652
19.4?Friends652
19.4.1?Friends finden654
19.4.2?Friends und Member655
19.5?Ratschläge657
20 Abgeleitete Klassen660
20.1?Einführung660
20.2?Abgeleitete Klassen661
20.2.1?Member-Funktionen664
20.2.2?Konstruktoren und Destruktoren665
20.3?Klassenhierarchien666
20.3.1?Typfelder666
20.3.2?Virtuelle Funktionen669
20.3.3?Explizite Qualifizierung672
20.3.4?Überschreiben steuern672
20.3.4.1?override674
20.3.4.2?final675
20.3.5?Member der Basisklasse verwenden677
20.3.5.1?Konstruktoren vererben678
20.3.6?Lockerung bei Rückgabetypen680
20.4?Abstrakte Klassen682
20.5?Zugriffskontrolle684
20.5.1?Geschützte Member688
20.5.1.1?Geschützte Member verwenden689
20.5.2?Zugriff auf Basisklassen689
20.5.2.1?Mehrfachvererbung und Zugriffskontrolle690
20.5.3?using-Deklarationen und Zugriffskontrolle691
20.6?Zeiger auf Member692
20.6.1?Zeiger auf Funktions-Member692
20.6.2?Zeiger auf Daten-Member694
20.6.3?Basis- und abgeleitete Member695
20.7?Ratschläge696
21 Klassenhierarchien698
21.1?Einführung698
21.2?Klassenhierarchien entwerfen698
21.2.1?Implementierungsvererbung699
21.2.1.1?Kritische Betrachtungen702
21.2.2?Schnittstellenvererbung703
21.2.3?Alternative Implementierungen705
21.2.3.1?Kritische Betrachtungen708
21.2.4?Objekterstellung örtlich begrenzen709
21.3?Mehrfachvererbung710
21.3.1?Mehrfachschnittstellen711
21.3.2?Mehrere Implementierungsklassen711
21.3.3?Auflösung von Mehrdeutigkeiten713
21.3.4?Eine Basisklasse wiederholt verwenden717
21.3.5?Virtuelle Basisklassen718
21.3.5.1?Virtuelle Basisklassen konstruieren721
21.3.5.2?Member einer virtuellen Klasse nur einmal aufrufen722
21.3.6?Replizierte und virtuelle Basisklassen724
21.3.6.1?Funktionen virtueller Basisklassen überschreiben726
21.4?Ratschläge727
22 Laufzeit-Typinformationen728
22.1?Einführung728
22.2?Navigation in der Klassenhierarchie728
22.2.1?dynamic_cast730
22.2.1.1?dynamic_cast in Referenz732
22.2.2?Mehrfachvererbung733
22.2.3?static_cast und dynamic_cast735
22.2.4?Eine Schnittstelle zurückgewinnen736
22.3?Doppelte Bindung und Besucher740
22.3.1?Doppelte Bindung741
22.3.2?Besucher743
22.4?Konstruktion und Destruktion745
22.5?Typidentifizierung746
22.5.1?Erweiterte Typinformationen748
22.6?RTTI – richtig und falsch eingesetzt749
22.7?Ratschläge751
23 Templates754
23.1?Einführung und Überblick754
23.2?Ein einfaches String-Template757
23.2.1?Ein Template definieren759
23.2.2?Template-Instanziierung760
23.3?Typprüfung761
23.3.1?Typäquivalenz763
23.3.2?Fehlererkennung764
23.4?Member von Klassen-Templates765
23.4.1?Daten-Member765
23.4.2?Member-Funktionen766
23.4.3?Member-Typalias766
23.4.4?Statische Member767
23.4.5?Member-Typen767
23.4.6?Member-Templates768
23.4.6.1?Templates und Konstruktoren769
23.4.6.2?Templates und virtual770
23.4.6.3?Verschachtelungen770
23.4.7?Friends773
23.5?Funktions-Templates774
23.5.1?Argumente von Funktions-Templates776
23.5.2?Funktions-Template-Argumente herleiten777
23.5.2.1?Referenzherleitung778
23.5.3?Überladen von Funktions-Templates780
23.5.3.1?Mehrdeutigkeiten auflösen781
23.5.3.2?Fehler bei Argumentersetzung782
23.5.3.3?Überladen und Ableitung784
23.5.3.4?Überladen und nicht hergeleitete Parameter784
23.6?Template-Alias785
23.7?Quellcodeorganisation786
23.7.1?Binden788
23.8?Ratschläge789
24 Generische Programmierung792
24.1?Einführung792
24.2?Algorithmen und Lifting793
24.3?Konzepte797
24.3.1?Ein Konzept erkennen798
24.3.2?Konzepte und Einschränkungen801
24.4?Konzepte konkret machen803
24.4.1?Axiome807
24.4.2?Konzepte mit mehreren Argumenten808
24.4.3?Wertkonzepte810
24.4.4?Einschränkungsüberprüfungen810
24.4.5?Überprüfung von Template-Definitionen812
24.5?Ratschläge814
25 Spezialisierung816
25.1?Einführung816
25.2?Template-Parameter und -Argumente817
25.2.1?Typen als Argumente817
25.2.2?Werte als Argumente819
25.2.3?Operationen als Argumente821
25.2.4?Templates als Argumente823
25.2.5?Template-Standardargumente824
25.2.5.1?Standardargumente bei Funktions-Templates825
25.3?Spezialisierung826
25.3.1?Schnittstellenspezialisierung829
25.3.1.1?Implementierungsspezialisierung830
25.3.2?Das primäre Template830
25.3.3?Reihenfolge der Spezialisierung832
25.3.4?Funktions-Template-Spezialisierung833
25.3.4.1?Spezialisierung und Überladen833
25.3.4.2?Spezialisierung, die kein Überladen ist834
25.4?Ratschläge835
26 Instanziierung836
26.1?Einführung836
26.2?Template-Instanziierung837
26.2.1?Wann wird Instanziierung gebraucht?838
26.2.2?Manuelle Kontrolle der Instanziierung839
26.3?Namensbindung840
26.3.1?Abhängige Namen842
26.3.2?Bindung am Punkt der Definition844
26.3.3?Bindung am Punkt der Instanziierung845
26.3.4?Mehrere Punkte der Instanziierung847
26.3.5?Templates und Namespaces849
26.3.6?Zu aggressive ADL850
26.3.7?Namen aus Basisklassen852
26.4?Ratschläge854
27 Templates und Hierarchien856
27.1?Einführung856
27.2?Parametrisierung und Hierarchie857
27.2.1?Generierte Typen859
27.2.2?Template-Konvertierungen861
27.3?Hierarchien von Klassen-Templates862
27.3.1?Templates als Schnittstellen864
27.4?Template-Parameter als Basisklassen864
27.4.1?Datenstrukturen zusammensetzen865
27.4.2?Klassenhierarchien linearisieren869
27.5?Ratschläge874
28 Metaprogrammierung876
28.1?Einführung876
28.2?Typfunktionen878
28.2.1?Typalias881
28.2.1.1?Wann man keinen Alias verwendet882
28.2.2?Typprädikate883
28.2.3?Eine Funktion auswählen885
28.2.4?Traits885
28.3?Steuerungsstrukturen887
28.3.1?Auswahl887
28.3.1.1?Zwischen zwei Typen auswählen888
28.3.1.2?Übersetzungszeit versus Laufzeit888
28.3.1.3?Zwischen mehreren Typen auswählen890
28.3.2?Iteration und Rekursion891
28.3.2.1?Rekursion mit Klassen892
28.3.3?Wann man Metaprogrammierung verwendet892
28.4?Bedingte Definition: Enable_if894
28.4.1?Enable_if verwenden895
28.4.2?Enable_if implementieren897
28.4.3?Enable_if und Konzepte898
28.4.4?Weitere Beispiele mit Enable_if898
28.5?Eine Liste zur Übersetzungszeit: Tuple901
28.5.1?Eine einfache Ausgabefunktion903
28.5.2?Elementzugriff904
28.5.2.1?Konstante Tupel906
28.5.3?make_tuple907
28.6?Variadische Templates908
28.6.1?Eine typsichere printf()-Funktion908
28.6.2?Technische Details911
28.6.3?Weiterleitung913
28.6.4?Der Typ tuple der Standardbibliothek914
28.7?Beispiel: SI-Einheiten918
28.7.1?Einheiten918
28.7.2?Größen919
28.7.3?Literale für Einheiten921
28.7.4?Hilfsfunktionen923
28.8?Ratschläge924
29 Ein Matrix-Design926
29.1?Einführung926
29.1.1?Einfache Anwendungen von Matrix926
29.1.2?Anforderungen an Matrix928
29.2?Ein Matrix-Template929
29.2.1?Konstruktion und Zuweisung931
29.2.2?Indizierung und Slicing932
29.3?Arithmetische Matrix-Operationen935
29.3.1?Skalaroperationen936
29.3.2?Addition936
29.3.3?Multiplikation938
29.4?Matrix-Implementierung940
29.4.1?slice()940
29.4.2?Matrix-Slices940
29.4.3?Matrix_ref942
29.4.4?Matrix-Listeninitialisierung943
29.4.5?Matrix-Zugriff945
29.4.6?Nulldimensionale Matrix948
29.5?Lineare Gleichungen lösen949
29.5.1?Das klassische gaußsche Eliminationsverfahren950
29.5.2?Pivotisierung951
29.5.3?Testen952
29.5.4?Verschmolzene Operationen953
29.6?Ratschläge956
Teil IVDie Standardbibliothek958
30 Überblick über die Standardbibliothek960
30.1?Einführung960
30.1.1?Komponenten der Standardbibliothek961
30.1.2?Designeinschränkungen962
30.1.3?Beschreibungsstil964
30.2?Header964
30.3?Sprachunterstützung969
30.3.1?Unterstützung für Initialisierungslisten969
30.3.2?Unterstützung für bereichsbasierte for-Anweisung970
30.4?Fehlerbehandlung970
30.4.1?Ausnahmen971
30.4.1.1?Die Hierarchie der Standardausnahmen972
30.4.1.2?Weiterleitung von Ausnahmen973
30.4.1.3?terminate()976
30.4.2?Assertionen976
30.4.3?system_error977
30.4.3.1?Fehlercodes978
30.4.3.2?Fehlerkategorien980
30.4.3.3?system_error-Ausnahme981
30.4.3.4?Potenziell portable Fehlerbedingungen982
30.4.3.5?Fehlercodes zuordnen982
30.4.3.6?errc-Fehlercodes984
30.4.3.7?future_errc-Fehlercodes987
30.4.3.8?io_errc-Fehlercodes987
30.5?Ratschläge987
31 STL-Container990
31.1?Einführung990
31.2?Überblick über Container990
31.2.1?Containerdarstellung993
31.2.2?Anforderungen an die Elemente995
31.2.2.1?Vergleiche996
31.2.2.2?Andere relationale Operatoren997
31.3?Operatoren im Überblick998
31.3.1?Member-Typen1001
31.3.2?Konstruktoren, Destruktor und Zuweisungen1002
31.3.3?Größe und Kapazität1004
31.3.4?Iteratoren1004
31.3.5?Elementzugriff1006
31.3.6?Stack-Operationen1006
31.3.7?Listenoperationen1007
31.3.8?Andere Operationen1008
31.4?Container1009
31.4.1?vector1009
31.4.1.1?vector und Wachstum1009
31.4.1.2?vector und Verschachtelung1011
31.4.1.3?vector und Arrays1013
31.4.1.4?vector und string1013
31.4.2?Listen1014
31.4.3?Assoziative Container1016
31.4.3.1?Geordnete assoziative Container1017
31.4.3.2?Ungeordnete assoziative Container1021
31.4.3.3?Ungeordnete Maps konstruieren1022
31.4.3.4?Hash- und Gleichheitsfunktionen1024
31.4.3.5?Lastfaktor und Buckets1027
31.5?Containeradapter1028
31.5.1?stack1029
31.5.2?queue1031
31.5.3?priority_queue1031
31.6?Ratschläge1032
32 STL-Algorithmen1036
32.1?Einführung1036
32.2?Algorithmen1036
32.2.1?Sequenzen1037
32.3?Richtlinienargumente1038
32.3.1?Komplexität1040
32.4 Nichtmodifizierende Sequenz­algorithmen1041
32.4.1?for_each()1041
32.4.2?Sequenzprädikate1041
32.4.3?count()1042
32.4.4?find()1042
32.4.5?equal() und mismatch()1043
32.4.6?search()1044
32.5?Modifizierende Sequenzalgorithmen1045
32.5.1?copy()1046
32.5.2?unique()1047
32.5.3?remove(), reverse() und replace()1048
32.5.4?rotate(), random_shuffle() und partition()1049
32.5.5?Permutationen1050
32.5.6?fill()1051
32.5.7?swap()1052
32.6?Sortieren und Suchen1053
32.6.1?Binäre Suche1056
32.6.2?merge()1057
32.6.3?Mengenalgorithmen1058
32.6.4?Heaps1059
32.6.5?lexicographical_compare()1061
32.7?Minimum und Maximum1061
32.8?Ratschläge1063
33 STL-Iteratoren1064
33.1?Einführung1064
33.1.1?Iteratormodell1064
33.1.2?Iteratorkategorien1066
33.1.3?Iterator-Traits1067
33.1.4?Iteratoroperationen1070
33.2?Iteratoradapter1071
33.2.1?Reverse-Iteratoren1071
33.2.2?Einfügeiteratoren1074
33.2.3?Verschiebeiteratoren1075
33.3?Bereichszugriffsfunktionen1076
33.4?Funktionsobjekte1077
33.5?Funktionsadapter1078
33.5.1?bind()1079
33.5.2?mem_fn()1081
33.5.3?function1081
33.6?Ratschläge1084
34 Speicher und Ressourcen1086
34.1?Einführung1086
34.2?„Beinahe-Container“1086
34.2.1?array1087
34.2.2?bitset1090
34.2.2.1?Konstruktoren1091
34.2.2.2?bitset-Operationen1093
34.2.3?vector1095
34.2.4?Tupel1096
34.2.4.1?pair1096
34.2.4.2?tuple1098
34.3?Ressourcenverwaltungszeiger1100
34.3.1?unique_ptr1101
34.3.2?shared_ptr1104
34.3.3?weak_ptr1108
34.4?Allokatoren1111
34.4.1?Der Standard-Allokator1112
34.4.2?Allokator-Traits1114
34.4.3?Zeiger-Traits1115
34.4.4?Allokatoren mit eigenem Gültigkeitsbereich1115
34.5?Die Schnittstelle zur Garbage Collection1117
34.6?Nichtinitialisierter Speicher1120
34.6.1?Temporäre Puffer1121
34.6.2?raw_storage_iterator1121
34.7?Ratschläge1123
35 Utilities1124
35.1?Einführung1124
35.2?Zeit1124
35.2.1?duration1125
35.2.2?time_point1128
35.2.3?Zeitgeber1130
35.2.4?Zeit-Traits1131
35.3 Rationale Arithmetik zur ­Übersetzungszeit1132
35.4?Typfunktionen1134
35.4.1?Typ-Traits1134
35.4.2?Typgeneratoren1139
35.5?Kleinere Utilities1144
35.5.1?move() and forward()1144
35.5.2?swap()1145
35.5.3?Relationale Operatoren1146
35.5.4?Vergleichen und Hashing von type_info1147
35.6?Ratschläge1148
36 Strings1150
36.1?Einführung1150
36.2?Zeichenklassifizierung1150
36.2.1?Klassifizierungsfunktionen1150
36.2.2?Zeichen-Traits1152
36.3?Strings1153
36.3.1?string im Vergleich zu C-Strings1154
36.3.2?Konstruktoren1156
36.3.3?Fundamentale Operationen1158
36.3.4?String-Ein-/Ausgabe1160
36.3.5?Numerische Konvertierungen1160
36.3.6?STL-ähnliche Operationen1162
36.3.7?Die find-Familie1165
36.3.8?Teilstrings1167
36.4?Ratschläge1168
37 Reguläre Ausdrücke1170
37.1?Reguläre Ausdrücke1170
37.1.1?Notation regulärer Ausdrücke1171
37.2?regex1176
37.2.1?Übereinstimmungsergebnisse1178
37.2.2?Formatierung1181
37.3?Funktionen für reguläre Ausdrücke1182
37.3.1?regex_match()1182
37.3.2?regex_search()1184
37.3.3?regex_replace()1185
37.4?Iteratoren für reguläre Ausdrücke1187
37.4.1?regex_iterator1187
37.4.2?regex_token_iterator1188
37.5?regex_traits1191
37.6?Ratschläge1192
38 E/A-Streams1194
38.1?Einführung1194
38.2?Die E/A-Stream-Hierarchie1196
38.2.1?Datei-Streams1197
38.2.2?String-Streams1199
38.3?Fehlerbehandlung1201
38.4?Ein-/Ausgabeoperationen1203
38.4.1?Eingabeoperationen1203
38.4.1.1?Formatierte Eingabe1204
38.4.1.2?Unformatierte Eingabe1205
38.4.2?Ausgabeoperationen1206
38.4.2.1?Virtuelle Ausgabefunktionen1208
38.4.3?Manipulatoren1209
38.4.4?Stream-Status1210
38.4.5?Formatierung1214
38.4.5.1?Formatierungsstatus1215
38.4.5.2?Standardmanipulatoren1217
38.4.5.3?Benutzerdefinierte Manipulatoren1220
38.5?Stream-Iteratoren1222
38.6?Puffer1223
38.6.1?Ausgabe-Streams und -puffer1227
38.6.2?Eingabe-Streams und -puffer1228
38.6.3?Pufferiteratoren1229
38.6.3.1?istreambuf_iterator1230
38.6.3.2?ostreambuf_iterator1231
38.7?Ratschläge1231
39 Locales1234
39.1?Kulturelle Unterschiede behandeln1234
39.2?Die Klasse locale1237
39.2.1?Benannte Locales1239
39.2.1.1?Neue Locales konstruieren1242
39.2.2?Strings vergleichen1243
39.3?Die Klasse facet1244
39.3.1?Auf Facetten in einem Locale zugreifen1245
39.3.2?Eine einfache benutzerdefinierte Facette1246
39.3.3?Locales und Facetten verwenden1249
39.4?Standardfacetten1250
39.4.1?String-Vergleich1252
39.4.1.1?Benannte collate-Facetten1255
39.4.2?Numerische Formatierung1255
39.4.2.1?Numerische Interpunktion1256
39.4.2.2?Numerische Ausgabe1257
39.4.2.3?Numerische Eingabe1260
39.4.3?Formatierung von Geldbeträgen1261
39.4.3.1?Interpunktion bei Geldbeträgen1262
39.4.3.2?Ausgabe von Geldbeträgen1265
39.4.3.3?Eingabe von Geldbeträgen1266
39.4.4?Datum und Uhrzeit formatieren1267
39.4.4.1?time_put1267
39.4.4.2?time_get1268
39.4.5?Zeichenklassifizierung1270
39.4.6?Zeichencodes konvertieren1274
39.4.7?Meldungen1278
39.4.7.1?Meldungen von anderen Facetten verwenden1281
39.5?Komfortschnittstellen1282
39.5.1?Zeichenklassifizierung1282
39.5.2?Zeichenkonvertierungen1283
39.5.3?String-Konvertierungen1283
39.5.4?Pufferkonvertierungen1285
39.6?Ratschläge1285
40 Numerische Berechnungen1288
40.1?Einführung1288
40.2?Numerische Grenzen1288
40.2.1?Makros für Grenzwerte1291
40.3?Mathematische Standardfunktionen1292
40.4?Komplexe Zahlen1294
40.5?Ein numerisches Array: valarray1295
40.5.1?Konstruktoren und Zuweisungen1296
40.5.2?Indizierung1298
40.5.3?Operationen1299
40.5.4?Slices1302
40.5.5?slice_array1304
40.5.6?Verallgemeinerte Slices1305
40.6 Verallgemeinerte numerische ­Algorithmen1306
40.6.1?accumulate()1307
40.6.2?inner_product()1308
40.6.3?partial_sum() und adjacent_difference()1309
40.6.4?iota()1310
40.7?Zufallszahlen1310
40.7.1?Zufallszahlenmodule1313
40.7.2?Zufallsgerät1315
40.7.3?Verteilungen1316
40.7.4?Zufallszahlen im Stil von C1320
40.8?Ratschläge1321
41 Nebenläufigkeit1322
41.1?Einführung1322
41.2?Speichermodelle1324
41.2.1?Speicherstellen1325
41.2.2?Umordnung von Befehlen1326
41.2.3?Speicherordnung1327
41.2.4?Data Races1328
41.3?Atomare Datentypen1330
41.3.1?Atomare Typen1333
41.3.2?Flags und Fences1338
41.3.3?Atomare Flags1338
41.3.3.1?Fences1339
41.4?volatile1339
41.5?Ratschläge1340
42 Threads und Tasks1342
42.1?Einführung1342
42.2?Threads1342
42.2.1?Identität1344
42.2.2?Konstruktion1345
42.2.3?Zerstörung1346
42.2.4?join()1347
42.2.5?detach()1348
42.2.6?Namespace this_thread1350
42.2.7?Einen Thread vorzeitig beenden1351
42.2.8?thread_local-Daten1351
42.3?Data Races vermeiden1353
42.3.1?Mutexe1354
42.3.1.1?mutex und recursive_mutex1355
42.3.1.2?mutex-Fehler1357
42.3.1.3?timed_mutex und recursive_timed_mutex1358
42.3.1.4?lock_guard und unique_lock1359
42.3.2?Mehrere Sperren1363
42.3.3?call_once()1364
42.3.4?Bedingungsvariablen1365
42.3.4.1?condition_variable_any1370
42.4?Task-basierte Nebenläufigkeit1371
42.4.1?future und promise1372
42.4.2?promise1373
42.4.3?packaged_task1374
42.4.4?future1377
42.4.5?shared_future1380
42.4.6?async()1381
42.4.7?Ein paralleles find()-Beispiel1384
42.5?Ratschläge1388
43 Die C-Standard­bibliothek1390
43.1?Einführung1390
43.2?Dateien1390
43.3?Die printf()-Familie1391
43.4?C-Strings1396
43.5?Speicher1397
43.6?Datum und Uhrzeit1399
43.7?Diverses1402
43.8?Ratschläge1404
44 Kompatibilität1406
44.1?Einführung1406
44.2?C++11-Erweiterungen1407
44.2.1?Sprachfeatures1407
44.2.2?Komponenten der Standardbibliothek1408
44.2.3?Veraltete Features1409
44.2.4?Umgang mit älteren C++-Implementierungen1410
44.3?C/C++-Kompatibilität1411
44.3.1?C und C++ sind Geschwister1411
44.3.2?„Stillschweigende“ Unterschiede1413
44.3.3?C-Code, der kein C++ ist1414
44.3.3.1?Probleme mit „klassischem C“1417
44.3.3.2?C-Features, die von C++ nicht übernommen wurden1417
44.3.4?C++-Code, der kein C ist1417
44.4?Ratschläge1419
Index1422

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Atalanta

Atalanta

Atalanta ist die Zeitschrift der Deutschen Forschungszentrale für Schmetterlingswanderung. Im Atalanta-Magazin werden Themen behandelt wie Wanderfalterforschung, Systematik, Taxonomie und Ökologie. ...

FREIE WERKSTATT

FREIE WERKSTATT

Die Fachzeitschrift FREIE WERKSTATT berichtet seit der ersten Ausgaben 1994 über die Entwicklungen des Independent Aftermarkets (IAM). Hauptzielgruppe sind Inhaberinnen und Inhaber, Kfz-Meisterinnen ...

Berufsstart Gehalt

Berufsstart Gehalt

»Berufsstart Gehalt« erscheint jährlich zum Sommersemester im Mai mit einer Auflage von 50.000 Exemplaren und ermöglicht Unternehmen sich bei Studenten und Absolventen mit einer ...

BMW Magazin

BMW Magazin

Unter dem Motto „DRIVEN" steht das BMW Magazin für Antrieb, Leidenschaft und Energie − und die Haltung, im Leben niemals stehen zu bleiben.Das Kundenmagazin der BMW AG inszeniert die neuesten ...

Card-Forum

Card-Forum

Card-Forum ist das marktführende Magazin im Themenbereich der kartengestützten Systeme für Zahlung und Identifikation, Telekommunikation und Kundenbindung sowie der damit verwandten und ...

Demeter-Gartenrundbrief

Demeter-Gartenrundbrief

Einzige Gartenzeitung mit Anleitungen und Erfahrungsberichten zum biologisch-dynamischen Anbau im Hausgarten (Demeter-Anbau). Mit regelmäßigem Arbeitskalender, Aussaat-/Pflanzzeiten, Neuigkeiten ...

dima

dima

Bau und Einsatz von Werkzeugmaschinen für spangebende und spanlose sowie abtragende und umformende Fertigungsverfahren. dima - die maschine - bietet als Fachzeitschrift die Kommunikationsplattform ...