Das Handbuch für moderne C++-EntwicklungDieses umfassende Nachschlagewerk führt Sie in die moderne C++-Entwicklung ein. Lernen Sie, Software mit hohen Ansprüchen an Funktionalität, Effizienz und Sicherheit zu entwickeln. Ausführlich werden der Sprachkern, die objektorientierte Programmierung und die Standardbibliothek behandelt. Sie lernen zum Beispiel, mit Streams umzugehen, Containertypen zu nutzen und nebenläufige Anwendungen zu entwickeln. Nicht zuletzt geht es dem Autor Torsten T. Will 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.Das Lehr- und Nachschlagewerk zu Modern C++, zum aktuellen Standard C++23Spachgrundlagen, OOP, Standardbibliothek, GUI-Programmierung u. v. m.Mit Guidelines und Techniken für gutes Coden Aus dem Inhalt:SprachgrundlagenFehlerbehandlungObjektorientierte ProgrammierungZeigerSchnittstelle zu CTemplatesContainerStandardbibliothekC++ Core GuidelinesExtra: Tutorials zum Thema guter Code

C++ Core Guidelines und Techniken für guten Code

Autorentext
Torsten T. Will, Jahrgang 1970, beschäftigte sich bereits während seines Diploms in Informatik mit Programmiersprachen und ihren Konzepten. C++ hat ihn schon in seinen Anfängen fasziniert und begleitet. Andere Programmierprojekte bewältigte er vor allem in Pascal, Java, Scala und Python. Seit 2004 schreibt er im Fachmagazin c't gelegentlich über C++ und Python. Was dann noch an Zeit übrig bleibt, geht in die Fotografie.

Inhalt


Vorwort ... 25

TEIL I. Grundlagen ... 29

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


2. Programmieren in C++ ... 37


2.1 ... Übersetzen ... 38

2.2 ... Übersetzungsphasen ... 39

2.3 ... Aktuelle Compiler ... 40

2.4 ... Entwicklungsumgebungen ... 41

2.5 ... Die Kommandozeile unter Ubuntu ... 43

2.6 ... Die IDE »Visual Studio Code« unter Windows ... 47

2.7 ... Das Beispielprogramm beschleunigen ... 54


3. C++ für Umsteiger ... 55

4. Die Grundbausteine von C++ ... 63


4.1 ... Ein schneller Überblick ... 66

4.2 ... Ohne Eile erklärt ... 71

4.3 ... Operatoren ... 100

4.4 ... Eingebaute Datentypen ... 116

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 ... Einrückungen und Zeilenlänge ... 161

5.4 ... Zeilen pro Funktion und Datei ... 162

5.5 ... Klammern und Leerzeichen ... 163

5.6 ... Namen ... 164


6. Höhere Datentypen ... 167


6.1 ... Der Zeichenkettentyp »string« ... 168

6.2 ... Streams ... 174

6.3 ... Behälter und Zeiger ... 181

6.4 ... Die einfachen Sequenzcontainer ... 183

6.5 ... Algorithmen ... 189

6.6 ... Zeiger und C-Arrays ... 189


7. Funktionen ... 191


7.1 ... Deklaration und Definition einer Funktion ... 192

7.2 ... Funktionstyp ... 193

7.3 ... Funktionen verwenden ... 194

7.4 ... Eine Funktion definieren ... 195

7.5 ... Mehr zu Parametern ... 197

7.6 ... Funktionskörper ... 201

7.7 ... Parameter umwandeln ... 203

7.8 ... Funktionen überladen ... 205

7.9 ... Defaultparameter ... 208

7.10 ... Beliebig viele Argumente ... 209

7.11 ... Alternative Schreibweise zur Funktionsdeklaration ... 210

7.12 ... Spezialitäten ... 211


8. Anweisungen im Detail ... 215


8.1 ... Der Anweisungsblock ... 218

8.2 ... Die leere Anweisung ... 221

8.3 ... Deklarationsanweisung ... 221

8.4 ... Die Ausdrucksanweisung ... 224

8.5 ... Die »if«-Anweisung ... 224

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. Ausdrücke im Detail ... 249


9.1 ... Berechnungen und Seiteneffekte ... 250

9.2 ... Arten von Ausdrücken ... 251

9.3 ... Literale ... 253

9.4 ... Bezeichner ... 253

9.5 ... Klammern ... 254

9.6 ... Funktionsaufruf und Indexzugriff ... 254

9.7 ... Zuweisung ... 255

9.8 ... Typumwandlung ... 257


10. Fehlerbehandlung ... 259


10.1 ... Fehlerbehandlung mit Fehlercodes ... 261

10.2 ... Was ist eine Ausnahme? ... 264

10.3 ... Kleinere Fehlerbehandlungen ... 267

10.4 ... Weiterwerfen -- »rethrow« ... 268

10.5 ... Die Reihenfolge im »catch« ... 268

10.6 ... Typen für Exceptions ... 271

10.7 ... Wenn eine Exception aus »main« herausfällt ... 272


11. Guter Code, 2. Dan: Modularisierung ... 273


11.1 ... Programm, Bibliothek, Objektdatei ... 273

11.2 ... Bausteine ... 274

11.3 ... Trennen der Funktionalitäten ... 275

11.4 ... Ein modulares Beispielprojekt ... 277


TEIL II. Objektorientierte Programmierung und mehr ... 289

12. Von der Struktur zur Klasse ... 291


12.1 ... Initialisierung ... 294

12.2 ... Rückgabe 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.9 ... Struktur oder Klasse? ... 313

12.10 ... Zwischenergebnis ... 318

12.11 ... Eigene Datentypen verwenden ... 318

12.12 ... Typinferenz mit »auto« ... 335

12.13 ... Eigene Klassen in Standardcontainern ... 339


13. Namensräume und Qualifizierer ... 343


13.1 ... Der Namensraum »std« ... 344

13.2 ... Anonymer Namensraum ... 347

13.3 ... »static« macht lokal ... 349

13.4 ... »static« teilt gern ... 350

13.5 ... Ferne Initialisierung oder…

Titel
C++
Untertitel
Das umfassende Handbuch
EAN
9783836298551
Format
E-Book (epub)
Hersteller
Digitaler Kopierschutz
frei
Dateigrösse
7 MB
Anzahl Seiten
1172
Lesemotiv