Abbildung von: Eine Tour durch C++ - Hanser

Eine Tour durch C++

Die kurze Einführung in den neuen Standrad C++11
Bjarne Stroustrup(Autor*in)
Hanser (Verlag)
1. Auflage
Erschienen am 8. Juni 2015
200 Seiten
E-Book
PDF mit Wasserzeichen-DRM
978-3-446-43983-2 (ISBN)
19,99 €inkl. 7% MwSt.
Systemvoraussetzungen
für PDF mit Wasserzeichen-DRM
E-Book Einzellizenz
Als Download verfügbar
EINE TOUR DURCH C++ //

- Dieser Leitfaden will Ihnen weder das Programmieren beibringen noch versteht er sich als einzige Quelle, die Sie für die Beherrschung von C++ brauchen - aber diese Tour ist wahrscheinlich die kürzeste oder einfachste Einführung in C++11.
- Für C- oder C++-Programmierer, die mit der aktuellen C++-Sprache vertrauter werden wollen
- Programmierer, die in einer anderen Sprache versiert sind, erhalten ein genaues Bild vom Wesen und von den Vorzügen des modernen C++ .

Mit dem C++11-Standard können Programmierer Ideen klarer, einfacher und direkter auszudrücken sowie schnelleren und effizienteren Code zu schreiben. Bjarne Stroustrup, der Designer und ursprüngliche Implementierer von C++, erläutert die Details dieser Sprache und ihre Verwendung in seiner umfassenden Referenz "Die C++-Programmiersprache".

In "Eine Tour durch C++" führt Stroustrup jetzt die Übersichtskapitel aus der Referenz zusammen und erweitert sie so, dass auch erfahrene Programmierer in nur wenigen Stunden eine Vorstellung davon erhalten, was modernes C++ ausmacht.

In diesem kompakten und eigenständigen Leitfaden behandelt Stroustrup - neben Grundlagen - die wichtigsten Sprachelemente und die wesentlichen Komponenten der Standardbibliothek. Er präsentiert die C++-Features im Kontext der Programmierstile, die sie unterstützen, wie die objektorientierte und generische Programmierung. Die Tour beginnt bei den Grundlagen und befasst sich dann mit komplexeren Themen, einschließlich vieler, die neu in C++11 sind wie z.B. Verschiebesemantik, einheitliche Initialisierung, Lambda-Ausdrücke, verbesserte Container, Zufallszahlen und Nebenläufigkeit. Am Ende werden Design und Entwicklung von C++ sowie die in C++11 hinzugekommenen Erweiterungen diskutiert.

Programmierer erhalten hier - auch anhand von Schlüsselbeispielen - einen sinnvollen Überblick und praktische Hilfe für den Einstieg.

AUS DEM INHALT //

Die Grundlagen // Benutzerdefinierte Typen // Modularität // Klassen // Templates // Überblick über die Bibliothek // Strings und reguläre Ausdrücke // E/A-Streams // Container // Algorithmen // Utilities // Numerik // Nebenläufigkeit // Geschichte und Kompatibilität
Dr. Bjarne Stroustrup hat C++ entwickelt und als Erster implementiert. Er ist Professor an der Texas A&M University und Mitglied der US National Academy of Engineering, IEEE-Fellow und ACM-Fellow. Seine Forschungen befassen sich mit verteilten Systemen, Entwurf, Programmiertechniken, Softwareentwicklungs-Tools und Programmiersprachen. Er ist aktiv an der ISO-Standardisierung von C++ beteiligt.
1 - Vorwort [Seite 12]
2 - 1?Die Grundlagen [Seite 14]
2.1 - 1.1?Einführung [Seite 14]
2.2 - 1.2?Programme [Seite 14]
2.3 - 1.3?Hello, World! [Seite 15]
2.4 - 1.4?Funktionen [Seite 16]
2.5 - 1.5?Typen, Variablen und Arithmetik [Seite 18]
2.6 - 1.6?Gültigkeitsbereich und Lebensdauer [Seite 21]
2.7 - 1.7?Konstanten [Seite 22]
2.8 - 1.8?Zeiger, Arrays und Referenzen [Seite 23]
2.9 - 1.9?Tests [Seite 26]
2.10 - 1.10?Ratschläge [Seite 28]
3 - 2?Benutzerdefinierte Typen [Seite 30]
3.1 - 2.1?Einführung [Seite 30]
3.2 - 2.2?Strukturen [Seite 30]
3.3 - 2.3?Klassen [Seite 32]
3.4 - 2.4?Unions [Seite 34]
3.5 - 2.5?Aufzählungen [Seite 35]
3.6 - 2.6?Ratschläge [Seite 36]
4 - 3?Modularität [Seite 38]
4.1 - 3.1?Einführung [Seite 38]
4.2 - 3.2?Separate Kompilierung [Seite 39]
4.3 - 3.3?Namespaces [Seite 41]
4.4 - 3.4?Fehlerbehandlung [Seite 42]
4.4.1 - 3.4.1?Ausnahmen [Seite 42]
4.4.2 - 3.4.2?Invarianten [Seite 43]
4.4.3 - 3.4.3?Statische Assertionen [Seite 45]
4.5 - 3.5?Ratschläge [Seite 46]
5 - 4?Klassen [Seite 48]
5.1 - 4.1?Einführung [Seite 48]
5.2 - 4.2?Konkrete Typen [Seite 49]
5.2.1 - 4.2.1?Ein arithmetischer Typ [Seite 50]
5.2.2 - 4.2.2?Ein Container [Seite 51]
5.2.3 - 4.2.3?Container initialisieren [Seite 53]
5.3 - 4.3?Abstrakte Typen [Seite 54]
5.4 - 4.4?Virtuelle Funktionen [Seite 57]
5.5 - 4.5?Klassenhierarchien [Seite 58]
5.5.1 - 4.5.1?Explizites Überschreiben [Seite 60]
5.5.2 - 4.5.2?Vorzüge von Hierarchien [Seite 61]
5.5.3 - 4.5.3?Navigation in Hierarchien [Seite 63]
5.5.4 - 4.5.4?Ressourcenlecks vermeiden [Seite 63]
5.6 - 4.6?Kopieren und Verschieben [Seite 64]
5.6.1 - 4.6.1?Container kopieren [Seite 65]
5.6.2 - 4.6.2?Container verschieben [Seite 66]
5.6.3 - 4.6.3?Wichtige Operationen [Seite 68]
5.6.4 - 4.6.4?Ressourcenverwaltung [Seite 70]
5.6.5 - 4.6.5?Operationen unterdrücken [Seite 72]
5.7 - 4.7?Ratschläge [Seite 72]
6 - 5?Templates [Seite 76]
6.1 - 5.1?Einführung [Seite 76]
6.2 - 5.2?Parametrisierte Typen [Seite 76]
6.3 - 5.3?Funktions-Templates [Seite 78]
6.4 - 5.4?Konzepte und generische Programmierung [Seite 79]
6.5 - 5.5?Funktionsobjekte [Seite 81]
6.6 - 5.6?Variadische Templates [Seite 83]
6.7 - 5.7?Alias [Seite 84]
6.8 - 5.8?Modell der Template-Kompilierung [Seite 85]
6.9 - 5.9?Ratschläge [Seite 86]
7 - 6?Überblick über die Bibliothek [Seite 88]
7.1 - 6.1?Einführung [Seite 88]
7.2 - 6.2?Komponenten der Standardbibliothek [Seite 89]
7.3 - 6.3?Header und Namespace der Standardbibliothek [Seite 90]
7.4 - 6.4?Ratschläge [Seite 91]
8 - 7?Strings und reguläre Ausdrücke [Seite 92]
8.1 - 7.1?Einführung [Seite 92]
8.2 - 7.2?Strings [Seite 92]
8.2.1 - 7.2.1?Eine string-Implementierung [Seite 94]
8.3 - 7.3?Reguläre Ausdrücke [Seite 95]
8.3.1 - 7.3.1?Suchen [Seite 96]
8.3.2 - 7.3.2?Notation regulärer Ausdrücke [Seite 97]
8.3.3 - 7.3.3?Iteratoren [Seite 101]
8.4 - 7.4?Ratschläge [Seite 102]
9 - 8?E/A-Streams [Seite 104]
9.1 - 8.1?Einführung [Seite 104]
9.2 - 8.2?Ausgabe [Seite 105]
9.3 - 8.3?Eingabe [Seite 106]
9.4 - 8.4?E/A-Status [Seite 108]
9.5 - 8.5?Ein-/Ausgabe von benutzerdefinierten Typen [Seite 109]
9.6 - 8.6?Formatierung [Seite 110]
9.7 - 8.7?File Streams [Seite 111]
9.8 - 8.8?String-Streams [Seite 112]
9.9 - 8.9?Ratschläge [Seite 113]
10 - 9?Container [Seite 116]
10.1 - 9.1?Einführung [Seite 116]
10.2 - 9.2?vector [Seite 116]
10.2.1 - 9.2.1?Elemente [Seite 119]
10.2.2 - 9.2.2?Bereichsüberprüfung [Seite 119]
10.3 - 9.3?list [Seite 121]
10.4 - 9.4?map [Seite 122]
10.5 - 9.5?unordered_map [Seite 123]
10.6 - 9.6?Überblick über Container [Seite 124]
10.7 - 9.7?Ratschläge [Seite 126]
11 - 10?Algorithmen [Seite 128]
11.1 - 10.1?Einführung [Seite 128]
11.2 - 10.2?Iteratoren verwenden [Seite 129]
11.3 - 10.3?Iteratortypen [Seite 132]
11.4 - 10.4?Stream-Iteratoren [Seite 133]
11.5 - 10.5?Prädikate [Seite 135]
11.6 - 10.6?Überblick über Algorithmen [Seite 135]
11.7 - 10.7?Containeralgorithmen [Seite 136]
11.8 - 10.8?Ratschläge [Seite 137]
12 - 11?Utilities [Seite 138]
12.1 - 11.1?Einführung [Seite 138]
12.2 - 11.2?Ressourcenverwaltung [Seite 138]
12.2.1 - 11.2.1?unique_ptr und shared_ptr [Seite 139]
12.3 - 11.3?Spezialisierte Container [Seite 142]
12.3.1 - 11.3.1?array [Seite 143]
12.3.2 - 11.3.2?bitset [Seite 144]
12.3.3 - 11.3.3?pair und tuple [Seite 145]
12.4 - 11.4?Zeit [Seite 147]
12.5 - 11.5?Funktionsadapter [Seite 147]
12.5.1 - 11.5.1?bind() [Seite 148]
12.5.2 - 11.5.2?mem_fn() [Seite 148]
12.5.3 - 11.5.3?function [Seite 149]
12.6 - 11.6?Typfunktionen [Seite 150]
12.6.1 - 11.6.1?iterator_traits [Seite 151]
12.6.2 - 11.6.2?Typprädikate [Seite 153]
12.7 - 11.7?Ratschläge [Seite 153]
13 - 12?Numerik [Seite 156]
13.1 - 12.1?Einführung [Seite 156]
13.2 - 12.2?Mathematische Funktionen [Seite 156]
13.3 - 12.3?Numerische Algorithmen [Seite 157]
13.4 - 12.4?Komplexe Zahlen [Seite 158]
13.5 - 12.5?Zufallszahlen [Seite 159]
13.6 - 12.6?Vektorarithmetik [Seite 161]
13.7 - 12.7?Numerische Grenzen [Seite 161]
13.8 - 12.8?Ratschläge [Seite 162]
14 - 13?Nebenläufigkeit [Seite 164]
14.1 - 13.1?Einführung [Seite 164]
14.2 - 13.2?Tasks und Threads [Seite 165]
14.3 - 13.3?Argumente übergeben [Seite 166]
14.4 - 13.4?Ergebnisse zurückgeben [Seite 167]
14.5 - 13.5?Daten gemeinsam nutzen [Seite 167]
14.6 - 13.6?Warten auf Ereignisse [Seite 169]
14.7 - 13.7?Kommunizierende Tasks [Seite 171]
14.7.1 - 13.7.1?future und promise [Seite 171]
14.7.2 - 13.7.2?packaged_task [Seite 172]
14.7.3 - 13.7.3?async() [Seite 173]
14.8 - 13.8?Ratschläge [Seite 174]
15 - 14?Geschichte und Kompatibilität [Seite 176]
15.1 - 14.1?Historische Anmerkungen [Seite 176]
15.1.1 - 14.1.1?Chronik [Seite 177]
15.1.2 - 14.1.2?Die frühen Jahre [Seite 178]
15.1.3 - 14.1.3?Die ISO-C++-Standards [Seite 180]
15.2 - 14.2?C++11-Erweiterungen [Seite 182]
15.2.1 - 14.2.1?Sprachfeatures [Seite 182]
15.2.2 - 14.2.2?Komponenten der Standardbibliothek [Seite 183]
15.2.3 - 14.2.3?Veraltete Features [Seite 184]
15.2.4 - 14.2.4?Typumwandlungen [Seite 185]
15.3 - 14.3?C/C++-Kompatibilität [Seite 186]
15.3.1 - 14.3.1?C und C++ sind Geschwister [Seite 186]
15.3.2 - 14.3.2Kompatibilitätsprobleme [Seite 188]
15.3.2.1 - 14.3.2.1?Stilprobleme [Seite 188]
15.3.2.2 - 14.3.2.2?void* [Seite 190]
15.3.2.3 - 14.3.2.3?C++-Schlüsselwörter [Seite 190]
15.3.2.4 - 14.3.2.4?Bindung [Seite 191]
15.4 - 14.4?Literaturhinweise [Seite 191]
15.5 - 14.5?Ratschläge [Seite 194]
16 - Index [Seite 196]

Dateiformat: PDF
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)

Systemvoraussetzungen:

  • Computer (Windows; MacOS X; Linux): Verwenden Sie zum Lesen die kostenlose Software Adobe Reader, Adobe Digital Editions oder einen anderen PDF-Viewer Ihrer Wahl (siehe E-Book Hilfe).
  • Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions oder die App PocketBook (siehe E-Book Hilfe).
  • E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nur bedingt: Kindle)

Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist. Mit Wasserzeichen-DRM wird hier ein „weicher” Kopierschutz verwendet. Daher ist technisch zwar alles möglich – sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.

Weitere Informationen finden Sie in unserer  E-Book Hilfe.