Will, T: C++

Nicht lieferbar | Lieferzeit: Nicht lieferbar I

39,90 €*

Alle Preise inkl. MwSt. | zzgl. Versand
Gewicht:
1950 g
Format:
246x175x60 mm
Beschreibung:

Dieses Standardwerk führt Sie in die moderne C++-Entwicklung ein. Entwickeln Sie Software mit hohen Ansprüchen an Funktionalität, Effizienz und Sicherheit. Ausführlich werden der Sprachkern, die objektorientierte Programmierung und die Standardbibliothek behandelt, sowie GUI-Entwicklung mit Qt.Nicht zuletzt geht es dem Autor um das Wie: Freuen Sie sich auf ein Lehrbuch über die Konzepte des Modern C++, die C++ Core Guidelines, Sprachversionen und vor allem über guten Code.
C++ Core Guidelines und Techniken für guten Code
Vorwort ... 23Vorwort zur 1. Auflage ... 25TEIL I Grundlagen ... 271. Das C++-Handbuch ... 291.1 ... Neu und modern ... 301.2 ... »Dan«-Kapitel ... 301.3 ... Darstellung in diesem Buch ... 311.4 ... Verwendete Formatierungen ... 311.5 ... Sorry for my Denglish ... 322. Programmieren in C++ ... 352.1 ... Übersetzen ... 362.2 ... Übersetzungsphasen ... 362.3 ... Aktuelle Compiler ... 382.4 ... Entwicklungsumgebungen ... 402.5 ... Die Kommandozeile unter Ubuntu ... 422.6 ... Die IDE »Microsoft Visual Studio Community« unter Windows ... 452.7 ... Das Beispielprogramm beschleunigen ... 483. C++ für Umsteiger ... 494. Die Grundbausteine von C++ ... 574.1 ... Kommentare ... 604.2 ... Die »include«-Direktive ... 604.3 ... Die Standardbibliothek ... 604.4 ... Die Funktion »main()« ... 614.5 ... Typen ... 614.6 ... Variablen ... 624.7 ... Initialisierung ... 624.8 ... Ausgabe auf der Konsole ... 634.9 ... Anweisungen ... 634.10 ... Ohne Eile erklärt ... 654.11 ... Operatoren ... 914.12 ... Eingebaute Datentypen ... 1055. Guter Code, 1. Dan: Lesbar programmieren ... 1435.1 ... Kommentare ... 1445.2 ... Dokumentation ... 1445.3 ... Einrückungen und Zeilenlänge ... 1455.4 ... Zeilen pro Funktion und Datei ... 1465.5 ... Klammern und Leerzeichen ... 1475.6 ... Namen ... 1486. Höhere Datentypen ... 1516.1 ... Der Zeichenkettentyp »string« ... 1526.2 ... Streams ... 1586.3 ... Behälter und Zeiger ... 1646.4 ... Die einfachen Sequenzcontainer ... 1666.5 ... Algorithmen ... 1716.6 ... Zeiger und C-Arrays ... 1727. Funktionen ... 1737.1 ... Deklaration und Definition einer Funktion ... 1747.2 ... Funktionstyp ... 1757.3 ... Funktionen verwenden ... 1757.4 ... Eine Funktion definieren ... 1777.5 ... Mehr zu Parametern ... 1787.6 ... Funktionskörper ... 1827.7 ... Parameter umwandeln ... 1847.8 ... Funktionen überladen ... 1867.9 ... Default-Parameter ... 1887.10 ... Beliebig viele Argumente ... 1907.11 ... Alternative Schreibweise zur Funktionsdeklaration ... 1907.12 ... Spezialitäten ... 1918. Anweisungen im Detail ... 1958.1 ... Der Anweisungsblock ... 1988.2 ... Die leere Anweisung ... 2008.3 ... Deklarationsanweisung ... 2018.4 ... Die Ausdrucksanweisung ... 2038.5 ... Die »if«-Anweisung ... 2048.6 ... Die »while«-Schleife ... 2088.7 ... Die »do-while«-Schleife ... 2108.8 ... Die »for«-Schleife ... 2118.9 ... Die bereichsbasierte »for«-Schleife ... 2138.10 ... Die »switch«-Verzweigung ... 2158.11 ... Die »break«-Anweisung ... 2198.12 ... Die »continue«-Anweisung ... 2208.13 ... Die »return«-Anweisung ... 2218.14 ... Die »goto«-Anweisung ... 2228.15 ... Der »try-catch«-Block und »throw« ... 2248.16 ... Zusammenfassung ... 2259. Ausdrücke im Detail ... 2279.1 ... Berechnungen und Seiteneffekte ... 2289.2 ... Arten von Ausdrücken ... 2299.3 ... Literale ... 2309.4 ... Bezeichner ... 2319.5 ... Klammern ... 2319.6 ... Funktionsaufruf und Indexzugriff ... 2329.7 ... Zuweisung ... 2329.8 ... Typumwandlung ... 23410. Fehlerbehandlung ... 23710.1 ... Fehlerbehandlung mit Fehlercodes ... 23910.2 ... Was ist eine Ausnahme? ... 24210.3 ... Kleinere Fehlerbehandlungen ... 24510.4 ... Weiterwerfen -- »rethrow« ... 24510.5 ... Die Reihenfolge im »catch« ... 24610.6 ... Typen für Exceptions ... 24810.7 ... Wenn eine Exception aus »main« herausfällt ... 24911. Guter Code, 2. Dan: Modularisierung ... 25111.1 ... Programm, Bibliothek, Objektdatei ... 25111.2 ... Bausteine ... 25211.3 ... Trennen der Funktionalitäten ... 25311.4 ... Ein modulares Beispielprojekt ... 25511.5 ... Spezialthema: Unity-Builds ... 265TEIL II Objektorientierte Programmierung und mehr ... 26712. Von der Struktur zur Klasse ... 26912.1 ... Initialisierung ... 27112.2 ... Rückgabe eigener Typen ... 27212.3 ... Methoden statt Funktionen ... 27312.4 ... Das bessere »drucke« ... 27612.5 ... Eine Ausgabe wie jede andere ... 27812.6 ... Methoden inline definieren ... 27912.7 ... Implementierung und Definition trennen ... 28012.8 ... Initialisierung per Konstruktor ... 28112.9 ... Struktur oder Klasse? ... 28812.10 ... Zwischenergebnis ... 29212.11 ... Verwendung eigener Datentypen ... 29312.12 ... Typinferenz mit »auto« ... 30812.13 ... Eigene Klassen in Standardcontainern ... 31113. Namensräume und Qualifizierer ... 31513.1 ... Der Namensraum »std« ... 31513.2 ... Anonymer Namensraum ... 31913.3 ... »static« macht lokal ... 32113.4 ... »static« teilt gern ... 32213.5 ... »static« macht dauerhaft ... 32513.6 ... Zusammenfassung ... 32813.7 ... »const« ... 32913.8 ... Flüchtig mit »volatile« ... 34414. Guter Code, 3. Dan: Testen ... 34714.1 ... Arten des Tests ... 34714.2 ... Frameworks ... 35514.3 ... Boost.Test ... 35914.4 ... Hilfsmakros für Assertions ... 36314.5 ... Ein Beispielprojekt mit Unittests ... 36615. Vererbung ... 37915.1 ... Beziehungen ... 38015.2 ... Vererbung in C++ ... 38315.3 ... Hat-ein versus ist-ein ... 38415.4 ... Gemeinsamkeiten finden ... 38415.5 ... Abgeleitete Typen erweitern ... 38715.6 ... Methoden überschreiben ... 38815.7 ... Wie Methoden funktionieren ... 38915.8 ... Virtuelle Methoden ... 39015.9 ... Konstruktoren in Klassenhierarchien ... 39215.10 ... Typumwandlung in Klassenhierarchien ... 39415.11 ... Wann virtuell? ... 39615.12 ... Andere Designs zur Erweiterbarkeit ... 39716. Der Lebenszyklus von Klassen ... 39916.1 ... Erzeugung und Zerstörung ... 40016.2 ... Temporary: kurzlebige Werte ... 40216.3 ... Der Destruktor zum Konstruktor ... 40416.4 ... Yoda-Bedingung ... 40816.5 ... Konstruktion, Destruktion und Exceptions ... 41016.6 ... Kopieren ... 41116.7 ... Zuweisungsoperator ... 41416.8 ... Streichen von Methoden ... 41716.9 ... Verschiebeoperationen ... 41916.10 ... Operatoren ... 42416.11 ... Eigene Operatoren in einem Datentyp ... 42716.12 ... Besondere Klassenformen ... 43217. Guter Code, 4. Dan: Sicherheit, Qualität und Nachhaltigkeit ... 43717.1 ... Die Nullerregel ... 43717.2 ... RAII -- Resource Acquisition Is Initialization ... 44318. Spezielles für Klassen ... 45318.1 ... Dürfen alles sehen -- »friend«-Klassen ... 45318.2 ... Non-public-Vererbung ... 45718.3 ... Signaturklassen als Interfaces ... 46318.4 ... Multiple Vererbung ... 46718.5 ... Rautenförmige multiple Vererbung -- »virtual« für Klassenhierarchien ... 47618.6 ... Literale Datentypen -- »constexpr« für Konstruktoren ... 48019. Guter Code, 5. Dan: Klassisches objektorientiertes Design ... 48319.1 ... Objekte in C++ ... 48519.2 ... Objektorientiert designen ... 486TEIL III Fortgeschrittene Themen ... 50520. Zeiger ... 50720.1 ... Adressen ... 50820.2 ... Zeiger ... 50920.3 ... Gefahren von Aliasing ... 51120.4 ... Heapspeicher und Stapelspeicher ... 51320.5 ... Smarte Pointer ... 51620.6 ... Rohe Zeiger ... 52620.7 ... C-Arrays ... 53020.8 ... Iteratoren ... 53620.9 ... Zeiger als Iteratoren ... 53820.10 ... Zeiger im Container ... 53820.11 ... Die Ausnahme: wann das Wegräumen nicht nötig ist ... 53921. Makros ... 54121.1 ... Der Präprozessor ... 54221.2 ... Vorsicht vor fehlenden Klammern ... 54621.3 ... Vorsicht vor Mehrfachausführung ... 54721.4 ... Typvariabilität von Makros ... 54821.5 ... Zusammenfassung ... 55122. Schnittstelle zu C ... 55322.1 ... Mit Bibliotheken arbeiten ... 55422.2 ... C-Header ... 55522.3 ... C-Ressourcen ... 55822.4 ... »void«-Pointer ... 55922.5 ... Daten lesen ... 55922.6 ... Das Hauptprogramm ... 56122.7 ... Zusammenfassung ... 56123. Templates ... 56323.1 ... Funktionstemplates ... 56423.2 ... Funktionstemplates in der Standardbibliothek ... 57423.3 ... Eine Klasse als Funktion ... 57823.4 ... Templateklassen ... 59323.5 ... Templates mit variabler Argumentanzahl ... 60723.6 ... Eigene Literale ... 611TEIL IV Die Standardbibliothek ... 62124. Container ... 62324.1 ... Grundlagen ... 62424.2 ... Iteratoren-Grundlagen ... 63124.3 ... Allokatoren: Speicherfragen ... 63524.4 ... Containergemeinsamkeiten ... 63824.5 ... Ein Überblick über die Standardcontainerklassen ... 63924.6 ... Die sequenziellen Containerklassen ... 64324.7 ... Assoziativ und geordnet ... 68024.8 ... Nur assoziativ und nicht garantiert ... 71224.9 ... Containeradapter ... 74224.10 ... Sonderfälle: »string«, »basic_string« und »vector

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.

Google Plus
Powered by Inooga