Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Der C++ - Programmierer - C++ lernen - Professionell anwenden - Lösungen nutzen

von: Dr. Ulrich Breymann

Carl Hanser Fachbuchverlag, 2009

ISBN: 9783446420687, 965 Seiten

Format: PDF, OL

Mac OSX,Windows PC,Mac OSX,Windows PC Bookeen Cybook Orizon,Ectaco Lite,Aluratek Libre,eLyricon EBX-500.TFT,PocketBook 302,FlatReader,BeBook 'One',iRiver Story,Sony Reader PRS-3xx,Bookeen CyBook Opus,Hanvon/Hexaglot N518,PocketBook 301+,COOL-ER eReader,Inves-Book 600,eLyricon EBX-600.E-Ink, Bookeen CyBook Gen3 ab Rev: 1.9,Italica Reader,Sony Reader PRS-505, -6xx, -7xx,Pocketbook 360,Hanvon N516 Weltbild Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 49,90 EUR

  • Oracle 10g
    C++ für Spieleprogrammierer
    MediaFotografie analog und digital
    Moderne C++ Programmierung
    Praxis der Wärmeübertragung
    Physik für Ingenieure
    Signalverarbeitung - Zeit-Frequenz-Analyse und Schätzverfahren
    Statistik für Anwender
  • Erotik anal
    Signale und Systeme

     

     

     

     

     

     

     

 

Mehr zum Inhalt

Der C++ - Programmierer - C++ lernen - Professionell anwenden - Lösungen nutzen


 

Inhalt

6

Vorwort

22

I.Teil I: Einführung in C++

26

1 Es geht los!

28

1.1 Historisches

28

1.2 Objektorientierte Programmierung

29

1.3 Compiler

32

1.4 Das erste Programm

32

1.4.1 Namenskonventionen

37

1.5 Integrierte Entwicklungsumgebungen

38

1.5.1 Code::Blocks

38

1.5.2 Eclipse

40

1.5.3 KDevelop

42

1.6 Einfache Datentypen und Operatoren

44

1.6.1 Ausdruck

45

1.6.2 Ganze Zahlen

45

1.6.3 Reelle Zahlen

49

1.6.4 Konstante

53

1.6.5 Zeichen

54

1.6.6 Logischer Datentyp bool

57

1.6.7 Referenzen

58

1.6.8 Regeln zum Bilden von Ausdrücken

59

1.6.9 Standard-Typumwandlungen

60

1.7 Gültigkeitsbereich und Sichtbarkeit

61

1.7.1 Namespace std

62

1.8 Kontrollstrukturen

63

1.8.1 Anweisungen

63

1.8.2 Sequenz (Reihung)

65

1.8.3 Auswahl (Selektion, Verzweigung)

65

1.8.4 Fallunterscheidungen mit switch

70

1.8.5 Wiederholungen

72

1.8.6 Kontrolle mit break und continue

79

1.9 Benutzerdefinierte und zusammengesetzte Datentypen

81

1.9.1 Aufzählungstypen

81

1.9.2 Arrays: Der C++-Standardtyp vector

83

1.9.3 Zeichenketten: Der C++-Standardtyp string

88

1.9.4 Strukturierte Datentypen

90

2 Einfache Ein- und Ausgabe

94

2.1 Standardein- und -ausgabe

94

2.2 Ein- und Ausgabe mit Dateien

97

3 Programmstrukturierung

102

3.1 Funktionen

103

3.1.1 Aufbau und Prototypen

103

3.1.2 Gültigkeitsbereiche und Sichtbarkeit in Funktionen

105

3.2 Schnittstellen zum Datentransfer

107

3.2.1 Übergabe per Wert

108

3.2.2 Übergabe per Referenz

112

3.2.3 Gefahren bei der Rückgabe von Referenzen

113

3.2.4 Vorgegebene Parameterwerte und variable Parameterzahl

114

3.2.5 Überladen von Funktionen

115

3.2.6 Funktion main()

116

3.2.7 Beispiel Taschenrechnersimulation

117

3.2.8 Spezifikation von Funktionen

122

3.3 Modulare Programmgestaltung

123

3.3.1 Steuerung der Übersetzung nur mit #include

124

3.3.2 Einbinden vorübersetzter Programmteile

124

3.3.3 Dateiübergreifende Gültigkeit und Sichtbarkeit

126

3.3.4 Übersetzungseinheit, Deklaration, Definition

128

3.3.5 Compilerdirektiven und Makros

130

3.4 Funktions-Templates

136

3.4.1 Spezialisierung von Templates

139

3.4.2 Einbinden von Templates

140

3.5 inline-Funktionen

141

3.6 Namensräume

143

3.7 C++-Header

144

3.7.1 Einbinden von C-Funktionen

146

4 Objektorientierung 1

148

4.1 Abstrakte Datentypen

149

4.2 Klassen und Objekte

150

4.2.1 inline-Elementfunktionen

153

4.3 Initialisierung und Konstruktoren

155

4.3.1 Standardkonstruktor

155

4.3.2 Allgemeine Konstruktoren

156

4.3.3 Kopierkonstruktor

159

4.3.4 Typumwandlungskonstruktor

161

4.4 Beispiel: Rationale Zahlen

163

4.4.1 Aufgabenstellung

163

4.4.2 Entwurf

164

4.4.3 Implementation

167

4.5 const-Objekte und Methoden

171

4.6 Destruktoren

172

4.7 Wie kommt man zu Klassen und Objekten? Ein Beispiel

174

4.7.1 Einige Analyse-Überlegungen

175

4.7.2 Formulierung des Szenarios in C++

178

4.8 Gegenseitige Abhängigkeit von Klassen

180

4.9 Delegierender Konstruktor

182

5 Intermezzo: Zeiger

184

5.1 Zeiger und Adressen

185

5.2 C-Arrays

188

5.2.1 C-Arrays und sizeof

190

5.2.2 Indexoperator bei C-Arrays

190

5.2.3 Initialisierung von C-Arrays

191

5.2.4 Zeigerarithmetik

191

5.3 C-Zeichenketten

192

5.4 Dynamische Datenobjekte

199

5.4.1 Freigeben dynamischer Objekte

202

5.5 Zeiger und Funktionen

204

5.5.1 Parameterübergabe mit Zeigern

204

5.5.2 Parameter des main-Programms

206

5.5.3 Gefahren bei der Rückgabe von Zeigern

207

5.6 Mehrdimensionale C-Arrays

208

5.6.1 Statische mehrdimensionale C-Arrays

208

5.6.2 Dynamisch erzeugte mehrdimensionale Arrays

212

5.6.3 Klasse für dynamisches zweidimensionales Array

214

5.7 Binäre Ein-/Ausgabe

218

5.8 Zeiger auf Funktionen

221

5.9 this-Zeiger

224

5.10 Komplexe Deklarationen lesen

225

5.11 Standard-Typumwandlungen für Zeiger

227

5.12 Zeiger auf Elementfunktionen und -daten3

228

5.12.1 Zeiger auf Elementfunktionen

228

5.12.2 Zeiger auf Elementdaten

229

6 Objektorientierung 2

230

6.1 Eine String-Klasse

230

6.1.1 Optimierung der Klasse MeinString

235

6.1.2 friend-Funktionen

237

6.2 Klassenspezifische Daten und Funktionen

239

6.2.1 Klassenspezifische Konstante

242

6.3 Klassen-Templates

243

6.3.1 Ein Stack-Template

243

6.3.2 Stack mit statisch festgelegter Größe

246

6.4 Template-Metaprogrammierung

248

6.5 Variadic Templates: Templates mitvariabler Parameterzahl

250

7 Vererbung

254

7.1 Vererbung und Initialisierung

260

7.2 Zugriffsschutz

261

7.3 Typbeziehung zwischen Ober- und Unterklasse

263

7.4 Code-Wiederverwendung

264

7.5 Überschreiben von Funktionen in abgeleiteten Klassen

265

7.6 Polymorphismus

267

7.6.1 Virtuelle Funktionen

267

7.6.2 Abstrakte Klassen

272

7.6.3 Virtueller Destruktor

277

7.7 Probleme der Modellierung mit Vererbung

279

7.8 Mehrfachvererbung

282

7.8.1 Namenskonflikte

285

7.8.2 Virtuelle Basisklassen

286

7.9 Standard-Typumwandlungsoperatoren

289

7.10 Typinformationen zur Laufzeit

292

7.11 Using-Deklaration für Klassen

293

7.12 Private- und Protected-Vererbung

294

8 Fehlerbehandlung

298

8.1 Ausnahmebehandlung

300

8.1.1 Exception-Spezifikation in Deklarationen

303

8.1.2 Exception-Hierarchie in C++

304

8.1.3 Besondere Fehlerbehandlungsfunktionen

306

8.1.4 Erkennen logischer Fehler

307

8.2 Speicherbeschaffung mit new

309

8.3 Exception-Sicherheit

312

9 Überladen von Operatoren

314

9.1 Rationale Zahlen — noch einmal

316

9.1.2 Ausgabeoperator <<

319

9.2 Eine Klasse für Vektoren

320

9.2.1 Index-Operator [ ]

323

9.2.2 Zuweisungsoperator =

325

9.2.3 Zuweisungsoperator und Vererbung

327

9.2.4 Mathematische Vektoren

331

9.2.5 Multiplikationsoperator

333

9.3 Inkrement-Operator ++

334

9.4 Typumwandlungsoperator

338

9.5 Smart Pointer:Operatoren -> und *

340

9.6 Objekt als Funktion

345

9.7 new und delete überladen

347

9.7.1 Speichermanagement mit malloc und free

350

9.7.2 Unterscheidung zwischen Heap- und Stack-Objekten

352

9.7.3 Fehlende delete-Anweisung entdecken

353

9.7.4 Eigene Speicherverwaltung

354

9.7.5 Empfehlungen im Umgang mit new und delete

358

9.8 Mehrdimensionale Matrizen

359

9.8.1 Zweidimensionale Matrix als Vektor von Vektoren

360

9.8.2 Dreidimensionale Matrix

363

10 Dateien und Ströme

366

10.1 Ausgabe

368

10.1.1 Formatierung der Ausgabe

368

10.2 Eingabe

371

10.3 Manipulatoren

374

10.3.1 Eigene Manipulatoren

377

10.4 Fehlerbehandlung

378

10.4.1 Exception ios::failure

380

10.5 Typumwandlung von Dateiobjekten nach bool

380

10.6 Arbeit mit Dateien

381

10.6.1 Positionierung in Dateien

382

10.6.2 Lesen und Schreiben in derselben Datei

383

10.7 Umleitung auf Strings

384

10.8 Ergänzungen

386

11 Einführung in die Standard Template Library(STL)

388

11.1 Das Konzept: Container, Iteratoren, Algorithmen

390

11.2 Iteratoren im Detail

394

11.3 Beispiel verkettete Liste

395

12 Reguläre Ausdrücke

400

12.1 Elemente regulärer Ausdrücke

401

12.1.1 Greedy oder lazy?

403

12.2 Interaktive Auswertung

404

12.3 Auszug des regex-APIs

407

12.4 Anwendungen

409

13 Threads

410

13.1 Die Klasse thread

414

13.2 Synchronisation

417

13.2.1 Thread-Group

419

13.3 Thread-Steuerung: pausieren, fortsetzen, beenden

420

13.4 Interrupt

425

13.5 Warten auf Ereignisse

427

13.6 Reader/Writer-Problem

432

13.6.1 Wenn Threads verhungern

436

13.6.2 Reader/Writer-Varianten

438

13.7 Thread-Sicherheit

439

II.Teil II: Bausteine komplexerAnwendungen

440

14 Grafische Benutzungsschnittstellen

442

14.1 Ereignisgesteuerte Programmierung

443

14.2 GUI-Programmierung mit Qt

444

14.2.1 Meta-Objektsystem

444

14.2.2 Der Programmablauf

445

14.2.3 Speicher sparen und lokal Daten sichern

446

14.3 Signale, Slots und Widgets

448

14.4 Dialog

456

14.5 Qt oder Boost?

459

14.5.1 Threads

460

14.5.2 Verzeichnisbaum durchwandern

461

15 Internet-Anbindung

464

15.1 Protokolle

465

15.2 Adressen

465

15.3 Socket

469

15.3.1 Bidirektionale Kommunikation

472

15.3.2 UDP-Sockets

474

15.3.3 Atomuhr mit UDP abfragen

475

15.4 HTTP

478

15.4.1 Verbindung mit GET

479

15.4.2 Verbindung mit POST

484

15.5 Mini-Webserver

484

16 Datenbankanbindung

494

16.1 C++-Interface

495

16.2 Anwendungsbeispiel

499

III.Teil III: Praktische Methoden und Werkzeuge der Softwareentwicklung

506

17 Abläufe automatisieren mit make

508

17.1 Quellen

509

17.2 Wirkungsweise

510

17.3 Variablen und Muster

512

17.4 Universelles Makefile für einfache Projekte

513

18 Unit-Test

516

18.1 Werkzeuge

517

18.2 Test Driven Development

518

18.3 Boost Unit Test Framework

519

18.3.1 Testaufbau

520

18.3.2 Beispiel: Testgetriebene Entwicklung einer Operatorfunktion

521

18.3.3 Fixture

525

18.3.4 Testprotokoll und Log-Level

526

18.3.5 Prüf-Makros

527

18.3.6 Kommandozeilen-Optionen

531

19 Werkzeuge zur Verwaltung von Projekten

532

19.1 Dokumentation und Strukturanalyse mit doxygen

532

19.1.1 Strukturanalyse

536

19.2 Versionskontrolle

537

19.2.1 Einrichtung des Servers

539

19.2.2 Exemplarische Benutzung

542

19.3 Projektverwaltung

544

19.3.1 Projektmanagement

544

19.3.2 Wiki für Software-Entwicklungsprojekte

544

IV.Teil IV: Das C++-Rezeptbuch:Tipps und Lösungen für typische Aufgaben

546

20 Sichere Programmentwicklung

548

20.1 Regeln zum Design von Methoden

548

20.2 Defensive Programmierung

551

20.2.1 double- und float-Werte richtig vergleichen

552

20.2.2 const verwenden

552

20.2.3 Anweisungen nach for/if/while einklammern

553

20.2.4 int und unsigned nicht mischen

553

20.2.5 Postfix++ mit Präfix++ implementieren

553

20.2.6 Ein Destruktor darf keine Exception werfen

554

20.2.7 Typumwandlungsoperatoren vermeiden

555

20.2.8 explicit-Konstruktoren bevorzugen

555

20.2.9 Leere Standardkonstruktoren vermeiden

555

20.2.10 Kopieren und Zuweisung verbieten

555

20.2.11 Vererbung verbieten

557

20.2.12 Defensiv Objekte löschen

558

20.3 Exception-sichere Beschaffung von Ressourcen

558

20.3.1 Sichere Verwendung von shared_ptr

558

20.3.2 shared_ptr für Arrays korrekt verwenden

559

20.3.3 Exception-sichere Funktion

559

20.3.4 Exception-sicherer Konstruktor

560

20.3.5 Exception-sichere Zuweisung

561

20.4 Aussagefähige Fehlermeldungohne neuen String erzeugen

563

20.5 Empfehlungen zur Thread-Programmierung

564

20.5.1 Warten auf die Freigabe von Ressourcen

564

20.5.2 Deadlock-Vermeidung

565

20.5.3 notify_all oder notify_one?

565

20.5.4 Performance mit Threads verbessern?

566

21 Von der UML nach C++

568

21.1 Vererbung

569

21.2 Interface anbieten und nutzen

569

21.3 Assoziation

571

21.3.1 Aggregation

574

21.3.2 Komposition

574

22 Performance, Wert- und Referenzsemantik

576

22.1 Performanceproblem Wertsemantik

578

22.2 Optimierung durch Referenzsemantik für R-Werte

579

22.3 Ein effizienter binärer Plusoperator

581

23 Effektive Programmerzeugung

586

23.1 Automatische Ermittlungvon Abhängigkeiten

587

23.1.1 Getrennte Verzeichnisse: src, obj, bin

588

23.2 Makefile für Verzeichnisbäume

590

23.2.1 Rekursive Make-Aufrufe

591

23.2.2 Ein Makefile für alles

593

23.3 Automatische Erzeugung von Makefiles

594

23.3.1 Makefile für rekursive Aufrufe erzeugen

595

23.4 Erzeugen von Bibliotheken

596

23.4.1 Statische Bibliotheksmodule

597

23.4.2 Dynamische Bibliotheksmodule

598

23.5 GNU Autotools

601

23.6 CMake

604

23.7 Code Bloat bei der Instanziierung von Templates vermeiden

604

23.7.1 extern-Template

606

23.7.2 Aufspaltung in Schnittstelle und Implementation

607

23.7.3 export-Template

608

24 Algorithmen für verschiedene Aufgaben

610

24.1 Algorithmen mit Strings

611

24.1.1 String splitten

611

24.1.2 String in Zahl umwandeln

612

24.1.3 Zahl in String umwandeln

613

24.1.4 Strings sprachlich richtig sortieren

614

24.1.5 Umwandlung in Klein- bzw. Großschreibung

615

24.1.6 Strings sprachlich richtig vergleichen

617

24.1.7 Von der Groß-/Kleinschreibung unabhängiger Zeichenvergleich

618

24.1.8 Von der Groß-/Kleinschreibung unabhängige Suche

619

24.2 Textverarbeitung

620

24.2.1 Datei durchsuchen

620

24.2.2 Ersetzungen in einer Datei

622

24.2.3 Code-Formatierer

624

24.2.4 Lines of Code (LOC) ermitteln

625

24.2.5 Zeilen, Wörter und Zeichen einer Datei zählen

627

24.2.6 CSV-Datei lesen

627

24.2.7 Kreuzreferenzliste

628

24.3 Operationen auf Folgen

631

24.3.1 Container anzeigen

631

24.3.2 Folge mit gleichen Werten initialisieren

632

24.3.3 Folge mit Werten eines Generators initialisieren

632

24.3.4 Folge mit fortlaufenden Werten initialisieren

633

24.3.5 Summe und Produkt

633

24.3.6 Mittelwert und Standardabweichung

634

24.3.7 Skalarprodukt

635

24.3.8 Folge der Teilsummen oder -produkte

636

24.3.9 Folge der Differenzen

637

24.3.10 Minimum und Maximum

638

24.3.11 Elemente rotieren

640

24.3.12 Elemente verwürfeln

641

24.3.13 Dubletten entfernen

642

24.3.14 Reihenfolge umdrehen

644

24.3.15 Anzahl der Elemente, die einer Bedingung genügen

645

24.3.16 Gilt X für alle, keins oder wenigstens ein Element einer Folge?

646

24.3.17 Permutationen

647

24.3.18 Lexikografischer Vergleich

648

24.4 Sortieren und Verwandtes

649

24.4.1 Partitionieren

649

24.4.2 Sortieren

651

24.4.3 Stabiles Sortieren

651

24.4.4 Partielles Sortieren

652

24.4.5 Das n.-größte oder n.-kleinste Element finden

653

24.4.6 Verschmelzen (merge)

654

24.5 Suchen und Finden

658

24.5.1 Element finden

658

24.5.2 Element einer Menge in der Folge finden

659

24.5.3 Teilfolge finden

660

24.5.4 Bestimmte benachbarte Elemente finden

662

24.5.5 Bestimmte aufeinanderfolgende Werte finden

663

24.5.6 Binäre Suche

665

24.6 Mengenoperationen aufsortierten Strukturen

668

24.6.1 Teilmengenrelation

668

24.6.2 Vereinigung

669

24.6.3 Schnittmenge

670

24.6.4 Differenz

670

24.6.5 Symmetrische Differenz

671

24.7 Heap-Algorithmen

672

24.7.1 pop_heap

673

24.7.2 push_heap

674

24.7.3 make_heap

675

24.7.4 sort_heap

675

24.7.5 is_heap

676

24.8 Vergleich von Containernauch ungleichen Typs

676

24.8.1 Unterschiedliche Elemente finden

676

24.8.2 Prüfung auf gleiche Inhalte

678

24.9 Rechnen mit komplexen Zahlen: Der C++-Standardtyp complex

679

24.10 Schnelle zweidimensionaleMatrix mit zusammenhängendem Speicher

681

24.10.1 Optimierung mathematischer Array-Operationen

686

24.11 Vermischtes

690

24.11.1 Erkennung eines Datums

690

24.11.2 Erkennung einer IP-Adresse

692

24.11.3 Erzeugen von Zufallszahlen

693

24.11.4 for_each — Auf jedem Element eine Funktion ausführen

694

24.11.5 Verschiedene Möglichkeiten, Container-Bereiche zu kopieren

694

24.11.6 Vertauschen von Elementen, Bereichen und Containern

697

24.11.7 Elemente transformieren

697

24.11.8 Ersetzen und Varianten

699

24.11.9 Elemente herausfiltern

701

24.11.10 Minimum und Maximum

702

24.11.11 Grenzwerte von Zahltypen

702

25 Ein- und Ausgabe

704

25.1 Datei- und Verzeichnisoperationen

704

25.1.1 Datei oder Verzeichnis löschen

705

25.1.2 Datei oder Verzeichnis umbenennen

706

25.1.3 Verzeichnis anlegen

707

25.1.4 Verzeichnis anzeigen

708

25.1.5 Verzeichnisbaum anzeigen

709

25.2 Tabelle formatiert ausgeben

711

25.3 Formatierte Daten lesen

712

25.3.1 Eingabe benutzerdefinierter Typen

712

25.4 Array als Block lesen oderschreiben

714

V.Teil V: Die C++-Standardbibliothek

716

26 Aufbau und Übersicht

718

26.1 Auslassungen

720

26.2 Beispiele des Buchs und die C++-Standardbibliothek

722

27 Hilfsfunktionen und -klassen

724

27.1 Relationale Operatoren

724

27.2 Unterstützung der Referenzsemantikfür R-Werte

725

27.3 Paare

728

27.4 Tupel

730

27.5 Funktionsobjekte

730

27.5.1 Arithmetische, vergleichende und logische Operationen

731

27.5.2 Funktionsobjekte zum Negieren logischer Prädikate

732

27.5.3 Binden von Argumentwerten

733

27.5.4 Zeiger auf Funktionen in Objekte umwandeln

734

27.6 Templates für rationale Zahlen

735

27.7 Zeit und Dauer

736

27.8 Hüllklasse für Referenzen

736

28 Container

738

28.1 Gemeinsame Eigenschaften

740

28.1.1 Initialisierungslisten

742

28.1.2 Konstruktion an Ort und Stelle

743

28.1.3 Reversible Container

743

28.2 Sequenzen

744

28.2.1 vector

745

28.2.2 vector<bool>

746

28.2.3 list

747

28.2.4 deque

749

28.2.5 stack

750

28.2.6 queue

752

28.2.7 priority_queue

753

28.2.8 array

755

28.3 Sortierte assoziative Container

757

28.3.1 map

757

28.3.2 multimap

761

28.3.3 set

762

28.3.4 multiset

765

28.4 Hash-Container

766

28.4.1 unordered_map

768

28.4.2 unordered_multimap

772

28.4.3 unordered_set

773

28.4.4 unordered_multiset

775

28.5 bitset

776

29 Iteratoren

780

29.1 Iterator-Kategorien

781

29.1.1 Anwendung von Traits

783

29.2 distance() und advance()

785

29.3 Reverse-Iteratoren

786

29.4 Insert-Iteratoren

787

29.5 Stream-Iteratoren

788

30 Algorithmen

790

30.1 Algorithmen mit Prädikat

791

30.1.1 Algorithmen mit binärem Prädikat

791

30.2 Übersicht

792

31 Nationale Besonderheiten

796

31.1 Sprachumgebungenfestlegen und ändern

797

31.1.1 Die locale-Funktionen

798

31.2 Zeichensätze und -codierung

799

31.3 Zeichenklassifizierung und-umwandlung

803

31.4 Kategorien

804

31.4.1 collate

804

31.4.2 ctype

805

31.4.3 numeric

806

31.4.4 monetary

808

31.4.5 time

811

31.4.6 messages

813

31.5 Konstruktion eigener Facetten

814

32 String

816

33 Speichermanagement

824

33.1 Smart Pointer unique_ptr, shared_ptr, weak_ptr

824

33.2 new mit vorgegebenem Speicherort

829

33.3 Hilfsfunktionen

830

34 Optimierte numerische Arrays (valarray)

832

34.1 Konstruktoren

833

34.2 Elementfunktionen

833

34.3 Binäre Valarray-Operatoren

836

34.4 Mathematische Funktionen

838

34.5 slice und slice_array

839

34.6 gslice und gslice_array

841

34.7 mask_array

844

34.8 indirect_array

845

35 C-Header

848

35.1 <cassert>

849

35.2 <cctype>

849

35.3 <cerrno>

850

35.4 <cmath>

850

35.5 <cstdarg>

851

35.6 <cstddef>

852

35.7 <cstdio>

852

35.8 <cstdlib>

852

35.9 <cstring>

854

35.10 <ctime>

856

A Anhang

858

A.1 Programmierhinweise

858

A.2 C++-Schlüsselwörter

861

A.3 ASCII-Tabelle

862

A.4 Rangfolge der Operatoren

863

A.5 Compilerbefehle

864

A.6 Änderungen des C++-Standards

865

A.6.1 Änderungen/Erweiterungen der C++-SpracheConcepts

865

A.6.2 Änderungen/Erweiterungen der C++-Standardbibliothek

872

A.7 Lösungen zu den Übungsaufgaben

873

Kapitel 1

874

Kapitel 2

880

Kapitel 3

882

Kapitel 4

889

Kapitel 5

894

Kapitel 6

897

Kapitel 7

901

Kapitel 9

903

Kapitel 11

911

Kapitel 13

912

Kapitel 24

913

Kapitel 28

915

Kapitel 30

916

A.8 Installation der DVD-Software für Windows

918

A.8.1 Installation des Compilers und einiger Bibliotheken

918

A.8.2 Bei Verzicht auf die automatische Installation

919

A.8.3 Codeblocks einrichten

920

A.8.4 Integration von Qt in ein Code::Blocks-Projekt

922

A.9 Installation der DVD-Softwarefür Linux

923

A.9.1 Installation des Compilers

923

A.9.2 Installation von Boost

924

A.9.3 Installation von Code::Blocks

924

A.9.4 Code::Blocks einrichten

925

A.9.5 Beispieldateien entpacken

925

A.9.6 Installation von Qt4

926

A.9.7 Integration von Qt in ein Code::Blocks-Projekt

927

Literaturverzeichnis

928

Glossar

932

Register

942