Einstieg in C++: Ideal zum Programmieren lernen 9783836278652

Mit diesem Buch gelingt Ihnen der Einstieg in die C++-Entwicklung mühelos. Anschauliche Erklärungen, praxisnahe Beispiel

130 21 9MB

German Pages 547 [803] Year 2020

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Liebe Leser!
Inhaltsverzeichnis
Materialien zum Buch
1 Eine erste Einführung
1.1 Was machen wir mit C++?
1.2 Was benötige ich zum Programmieren?
1.3 Die Entwicklung von C++
1.4 So sieht das erste Programm aus
1.5 Kommentieren Sie Ihre Programme
2 Arbeiten mit Zahlen und Operatoren
2.1 Wie speichere ich Zahlen?
2.2 Rechnen mit Operatoren
2.3 Fehler suchen
2.4 Wie können Daten eingegeben werden?
2.5 Zahlen formatieren mit Manipulatoren
2.6 Zuweisungen kürzer schreiben
2.7 Übung
2.8 Mehr über die Speicherung von Zahlen
2.8.1 Ganzzahlige Datentypen
2.8.2 Datentypen für Fließkommazahlen
2.9 Feste Werte in Konstanten speichern
2.10 Konstanten in Enumerationen zusammenfassen
2.11 Zahlensysteme
2.12 Initialisierung
2.13 Wie erzeuge ich zufällige Zahlen?
2.14 Übung
3 Mehrere Zweige in einem Programm
3.1 Zwei Zweige mit »if« und »else«
3.2 Bedingungen benötigen Vergleiche
3.3 Mehr als zwei Zweige
3.4 Wie kann ich Bedingungen kombinieren?
3.5 Zweige zusammenfassen mit »switch« und »case«
3.6 Was ist mit dem Rest?
3.7 Welcher Operator hat Vorrang?
3.8 Übungen
3.9 Wie speichere ich Wahrheitswerte?
3.10 Die Kurzform: der bedingte Ausdruck
4 Teile von Programmen wiederholen
4.1 Regelmäßige Wiederholungen mit »for«
4.2 Wiederholungen für einen Bereich
4.3 Bedingte Wiederholungen mit »do-while«
4.4 Besser vorher prüfen mit »while«
4.5 Wiederholungen abbrechen oder fortsetzen
4.6 Die Wiederholung der Wiederholung
4.7 Übungen
5 Programme aufteilen in Funktionen
5.1 So schreibe ich eine eigene Funktion
5.2 Wie übergebe ich Daten?
5.2.1 Ein weiterer Zugriff über eine Referenz
5.2.2 Übergabe an eine Referenz
5.2.3 Übergabe an eine konstante Referenz
5.3 Wie erhalte ich ein Ergebnis zurück?
5.4 Mehr Ordnung im Programm
5.5 Statische Variablen behalten ihren Wert
5.6 Fehler suchen
5.7 Übungen
5.8 Standardwerte vorgeben
5.9 Beliebig viele Parameter
5.10 Funktionen mehrfach definieren
5.11 Funktionen, die sich selbst aufrufen
5.12 Anonyme Funktionen
5.12.1 So schreibe ich eine anonyme Funktion
5.12.2 Daten von außerhalb erfassen
5.12.3 Wie übergebe ich Parameter?
5.12.4 Wie erhalte ich ein Ergebnis zurück?
5.13 Funktionen als Parameter
6 Große Datenmengen speichern in Feldern
6.1 Wie werden Felder unterschieden?
6.2 Einfache Felder mit fester Größe
6.3 Intelligente Felder mit fester Größe
6.4 Ausnahmen behandeln
6.5 Einfache und intelligente Zeiger
6.5.1 Einfache Zeiger
6.5.2 Die Operatoren »new« und »delete«
6.5.3 Ein intelligenter und eindeutiger Zeiger
6.5.4 Das Funktionstemplate »make_unique«
6.5.5 Weitere intelligente Zeiger
6.6 Intelligente Felder mit variabler Größe
6.7 Felder initialisieren
6.8 Felder als Parameter
6.9 Daten in mehreren Dimensionen speichern
6.9.1 Ein zweidimensionales Feld mit fester Größe
6.9.2 Ein zweidimensionales Feld mit variabler Größe
6.10 Übungen
7 Arbeiten mit Zeichen und Texten
7.1 Einzelne Zeichen
7.2 Einfache Zeichenketten
7.3 Intelligente Zeichenketten: Strings
7.3.1 Strings erzeugen
7.3.2 Strings ändern
7.3.3 Strings vergleichen und durchsuchen
7.4 Wie wandle ich Zahlen in Strings um?
7.5 Wie verarbeite ich Eingaben?
7.6 Felder von Zeichenketten
7.7 Suchen und Ersetzen
7.7.1 Funktionen zum Suchen und Ersetzen
7.7.2 Beginn und Ende
7.7.3 Auswahl und Bereiche
7.7.4 Gruppen, Anzahl und Sonderzeichen
7.8 Übungen
8 Daten in Strukturen zusammenfassen
8.1 Wie speichere ich zusammengehörige Daten?
8.2 Besser einen Typ definieren
8.3 Strukturen und Felder
8.4 Strukturen und Funktionen
8.4.1 Das Hauptprogramm
8.4.2 Die Größe des Felds festlegen
8.4.3 Die Eingabefunktionen
8.4.4 Die Ausgabefunktionen
8.5 Eine Hierarchie von Strukturen
8.6 Übung
9 Vorhandene Funktionen nutzen
9.1 Umgang mit Datum und Uhrzeit
9.1.1 Datum und Uhrzeit ausgeben
9.1.2 Zeit messen
9.1.3 Zeitangaben erzeugen und berechnen
9.2 Bessere zufällige Zahlen
9.2.1 Mersenne-Twister
9.2.2 Binomialverteilung
9.2.3 Übung
9.3 Mehrere Threads zur gleichen Zeit
9.3.1 Ablauf von Threads
9.3.2 Parameter für Threads
9.3.3 Gemeinsame Daten
9.3.4 Gemeinsame Daten schützen
9.4 Nützliche mathematische Funktionen
9.4.1 Winkelfunktionen
9.4.2 Funktionen zum Runden
9.4.3 Verschiedene mathematische Funktionen
9.4.4 Prüffunktionen
9.4.5 Betrag und Vergleich
9.4.6 Numerische Funktionen
9.5 Übungen
9.6 Rechnen mit komplexen Zahlen
9.6.1 Erstellung von komplexen Zahlen
9.6.2 Spezielle Funktionen
9.6.3 Operatoren
9.6.4 Mathematische Funktionen
9.7 Daten mit dem Betriebssystem austauschen
9.7.1 Wie lauten die Parameter?
9.7.2 Berechnung der Summe der Parameter
9.7.3 Wie nutze ich die Rückgabe eines Programms?
9.7.4 Systemkommandos ausführen
9.7.5 Ausgabe umlenken
9.7.6 Eingabe umlenken
9.8 Zugriff auf Dateien und Verzeichnisse
9.8.1 Pfad-Objekte
9.8.2 Rechte für den Zugriff ermitteln
9.8.3 Rechte für den Zugriff ändern
9.8.4 Verzeichnisse und Verzeichnishierarchien
9.8.5 Dateien ändern
9.8.6 Verzeichnisse ändern
9.8.7 Verzeichnisse rekursiv ändern
10 Eigene Klassen entwerfen
10.1 Klassen umfassen Eigenschaften und Methoden
10.1.1 Die Definition der Klasse
10.1.2 Objekte als Instanzen einer Klasse
10.2 Schützen Sie die Daten
10.3 Wie erzeuge und lösche ich Objekte?
10.4 Statische Elemente einer Klasse
10.5 Wie überlade ich Operatoren?
10.6 Objekte und Felder
10.7 Objekte ausgeben
10.8 Eigenschaften können Objekte sein
10.9 Übungen
11 Vererbung und Polymorphie
11.1 Basisklasse und abgeleitete Klassen
11.2 Welche Elemente sind an welcher Stelle erreichbar?
11.3 Konstruktoren in abgeleiteten Klassen
11.4 Was bedeutet Polymorphie?
11.5 Erben von mehreren Klassen
12 Datenströme verarbeiten
12.1 Sequenzielles Schreiben und Lesen
12.1.1 Schreiben in eine Datei
12.1.2 Pfadangaben
12.1.3 Lesen aus einer Datei
12.1.4 Mehrmals öffnen und schließen
12.2 Schreiben und Lesen an beliebiger Stelle
12.2.1 Formatiertes Schreiben in eine Datei
12.2.2 Lesen an beliebiger Stelle einer Datei
12.2.3 Schreiben an beliebiger Stelle in eine Datei
12.3 Wie leiten Sie Datenströme?
12.3.1 String-Streams auf dem Bildschirm ausgeben
12.3.2 String-Streams von Tastatur lesen
12.4 Wie ist das CSV-Format zum Austausch aufgebaut?
12.4.1 Im CSV-Format in eine Datei schreiben
12.4.2 Eine Datei im CSV-Format lesen
12.5 Übung
13 Container sind vielfältige Datenstrukturen
13.1 Wie durchlaufe ich Container?
13.2 Intelligente Felder mit fester Größe
13.3 Intelligente Felder mit variabler Größe
13.4 Eine Warteschlange mit zwei Enden
13.5 Daten in Listen verketten
13.5.1 Einfach verkettete Listen
13.5.2 Doppelt verkettete Listen
13.6 Drei einfache Container
13.6.1 Stapel
13.6.2 Einfache Warteschlangen
13.6.3 Prioritäts-Warteschlangen
13.7 Zwei nützliche Typen
13.7.1 Paare
13.7.2 Tupel
13.8 Eine Menge von Elementen
13.8.1 Sortiert und einzigartig
13.8.2 Nicht sortiert und einzigartig
13.8.3 Sortiert und nicht einzigartig
13.8.4 Nicht sortiert und nicht einzigartig
13.9 Schlüssel und Werte in einer Map
13.9.1 Sortiert und einzigartig
13.9.2 Nicht sortiert und einzigartig
13.9.3 Sortiert und nicht einzigartig
13.9.4 Nicht sortiert und nicht einzigartig
13.10 Algorithmen für Bereiche
13.11 Mengenlehre
13.12 Eine Menge von Bits
13.12.1 Funktionen für Bitsets
13.12.2 Operatoren für Bitsets
14 Mehr zu eigenen Klassen
14.1 Objekte initialisieren, kopieren und erzeugen
14.2 Klassen können Freunde haben
14.2.1 Befreundete Funktionen
14.2.2 Befreundete Klassen
14.3 Namen müssen eindeutig sein
14.4 Fehler behandeln mit Ausnahmen
14.4.1 Ausnahmen in Schleifen
14.4.2 Eigene Ausnahmen werfen
14.4.3 Ausnahme in Funktion behandeln
14.4.4 Eigene Ausnahmeklasse definieren
14.5 Innere Klassen
14.6 Templates sind Vorlagen
14.6.1 Templates für Funktionen
14.6.2 Templates für Klassen
15 Präprozessor-Anweisungen
15.1 Einbinden von Dateien
15.2 Definitionen und Makros
15.3 Definitionen und Verzweigungen
15.4 Eine Systemweiche
16 Grafische Benutzeroberflächen mit der Qt-Bibliothek
16.1 Die erste GUI-Anwendung
16.1.1 Klasse und Dateien
16.1.2 Projekt- und Codefenster
16.1.3 »Design«-Ansicht
16.1.4 Projekt ausführen
16.1.5 Ein Label einfügen und gestalten
16.1.6 Weitere Widgets einfügen und gestalten
16.1.7 Code und Verbindung erstellen
16.1.8 Registerkarte »Signals und Slots«
16.2 Ein einfacher Kopfrechentrainer
16.2.1 Die Erstellung der GUI
16.2.2 Die Deklaration der Klasse
16.2.3 Die Definition ohne Prüfung
16.2.4 Die Definition mit Prüfung
16.3 Ein erweiterter Kopfrechentrainer
16.3.1 Ein Projekt kopieren
16.3.2 Die Erweiterung der GUI
16.3.3 Die Erweiterung der Deklaration
16.3.4 Die Erweiterung des Konstruktors
16.3.5 Die Erweiterung des Prüfvorgangs
16.3.6 Die Erweiterung der Aufgabenstellung
16.4 Weitere Widgets
16.4.1 Beschreibung der Widgets
16.4.2 Die Erstellung der GUI
16.4.3 Die Deklaration der Klasse
16.4.4 Der Konstruktor der Klasse
16.4.5 Die Ereignismethoden der Klasse
17 Datenbanken mit SQLite verwalten
17.1 Der Aufbau einer Datenbank
17.2 Wie erzeuge ich Datenbank und Tabelle?
17.2.1 Die Erstellung der GUI
17.2.2 Die Deklaration der Klasse
17.2.3 Konstruktor und Destruktor der Klasse
17.2.4 Die Ereignismethode der Klasse
17.3 Wie speichere ich Daten in einer Tabelle?
17.4 So zeige ich alle Daten einer Tabelle an
17.5 Wie wähle ich bestimmte Daten aus?
17.5.1 Vergleichsoperatoren
17.5.2 Logische Operatoren
17.5.3 Vergleichsoperator »LIKE«
17.6 Der Benutzer wählt Daten aus
17.7 Daten sollten sortiert werden
17.8 Wie ändere ich Daten?
17.9 Vorsicht beim Löschen von Daten
17.10 Eine Datenbank mit mehreren Tabellen
17.10.1 Inhalt der Datenbank
17.10.2 Das Datenbankmodell
17.10.3 Der Aufbau des Qt-Projekts
17.10.4 Das Erstellen und Füllen der Tabellen
17.10.5 Abfragen über einzelne Tabellen
17.10.6 Abfragen über zwei verbundene Tabellen
17.10.7 Abfragen über drei verbundene Tabellen
17.10.8 Gruppieren und Summieren
17.11 Projekt Vokabeln
17.11.1 Die Benutzung des Programms
17.11.2 Der Aufbau des Qt-Projekts
17.11.3 Die Deklaration der Klasse
17.11.4 Der Konstruktor der Klasse
17.11.5 Das Aktivieren und Deaktivieren von Widgets
17.11.6 Die Auswahl der Sprachkombination
17.11.7 Der Vokabeltest wird gestartet
17.11.8 Die Übersetzung wird geprüft
17.11.9 Der Vokabeltest wird vorzeitig beendet
17.11.10 Die Neueingabe von Vokabeln wird gestartet
17.11.11 Die List Widgets werden parallel markiert
17.11.12 Eine neue Vokabel wird gespeichert
17.11.13 Eine Vokabel wird gelöscht
17.11.14 Die Neueingabe von Vokabeln wird beendet
17.11.15 Mögliche Erweiterungen des Programms
17.12 Übung
17.12.1 Benutzeroberfläche
17.12.2 Bedienung
17.12.3 Zugriff auf Date Edit Widget
17.12.4 Eintrag im List Widget aufsplitten
A Installationen
A.1 Installationen unter Windows
A.1.1 Code::Blocks installieren
A.1.2 Code::Blocks nutzen
A.1.3 Orwell Dev-C++
A.1.4 Die Java-Laufzeitumgebung
A.1.5 Eclipse installieren
A.1.6 Eclipse nutzen
A.1.7 Qt installieren
A.1.8 Qt nutzen
A.1.9 MinGW installieren
A.1.10 MinGW in den Pfad eintragen
A.2 Installationen unter Ubuntu Linux
A.2.1 Arbeiten im Terminal
A.2.2 Code::Blocks installieren
A.2.3 Die Java-Laufzeitumgebung
A.2.4 Eclipse installieren
A.2.5 Qt installieren
A.3 Installationen unter macOS
A.3.1 XCode
A.3.2 Arbeiten im Terminal
A.3.3 Code::Blocks
A.3.4 Eclipse installieren
A.3.5 Qt installieren
A.4 Ubuntu Linux unter Windows installieren
A.4.1 Downloads
A.4.2 Virtuelle Maschine konfigurieren
A.4.3 ISO-Datei als Medium einlegen
A.4.4 Installation
A.4.5 Gasterweiterungen
A.4.6 Gemeinsamen Ordner einrichten
B Hilfestellungen und Übersichten
B.1 Windows – einige Tastenkombinationen
B.2 Unix-Befehle
B.2.1 Inhalt eines Verzeichnisses
B.2.2 Verzeichnis anlegen, wechseln und löschen
B.2.3 Datei kopieren, verschieben und löschen
B.3 Schlüsselwörter der Sprache C++
Stichwortverzeichnis
Rechtliche Hinweise
Über den Autor
Recommend Papers

Einstieg in C++: Ideal zum Programmieren lernen
 9783836278652

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Thomas Theis

Einstieg in C++ Ideal zum Programmieren lernen 2., aktualisierte Auflage 2020

Impressum Dieses E-Book ist ein Verlagsprodukt, an dem viele mitgewirkt haben, insbesondere: Lektorat   Anne Scheibe

Korrektorat   Petra Schomburg, Hilter-Borgloh

Covergestaltung   Eva Schmücker

Coverbild    iStockphoto:609085486 © Angel_1978, 610539076 © Zelimir Zarkovic

Herstellung E-Book   Kamelia Brendel

Satz E-Book   SatzPro, Krefeld

Bibliografische Information der Deutschen Nationalbibliothek:

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. ISBN 978-3-8362-7865-2 2., aktualisierte Auflage 2020

© Rheinwerk Verlag GmbH, Bonn 2020

Liebe Leserin, lieber Leser, Sie möchten C++ lernen? Eine gute Wahl! C++ ist eine moderne, weit verbreitete Programmiersprache, mit der Anwendungen entwickelt werden, die höchsten Ansprüchen an Leistungsfähigkeit und Effizienz genügen. Wenn Sie C++ beherrschen, können Sie maschinennahe Programme wie Betriebssysteme, virtuelle Maschinen oder Treiber entwickeln und Anwendungsprogramme, die die vorhandenen Ressourcen optimal ausnutzen. Damit Ihnen der Einstieg in die C++-Entwicklung sicher gelingt, wurde dieses Buch geschrieben. Thomas Theis versteht es, Einsteigern ohne Vorkenntnisse die Programmierung leicht verständlich zu erklären und sie Schritt für Schritt vom ersten einfachen Programm bis zur leistungsfähigen Anwendung zu führen. Folgen Sie ihm durch diesen Programmierkurs, und Sie werden bald Ihre ersten eigenen C++-Anwendungen entwickeln. Für die notwendige Praxis sorgen zahlreiche Beispielprogramme und Übungsaufgaben. Durch das Lösen der Übungen können Sie prüfen, wie weit Ihre Kenntnisse schon vorangeschritten sind. Zur Kontrolle gibt es zu jeder Übung eine Musterlösung, mit der Sie Ihre eigene Lösung vergleichen können. Diese Musterlösungen und alle Beispielprojekte können Sie von der Webseite zum Buch www.rheinwerk-verlag.de/5179 herunterladen. Dieses Buch wurde mit großer Sorgfalt geschrieben, geprüft und produziert. Sollte dennoch einmal etwas nicht so funktionieren, wie Sie es erwarten, freue ich mich, wenn Sie sich mit mir in Verbindung setzen. Ihre Kritik und konstruktiven Anregungen, aber natürlich auch Ihr Lob sind uns jeder-zeit herzlich willkommen!

Ihre Anne Scheibe

Lektorat Rheinwerk Computing [email protected]

www.rheinwerk-verlag.de

Rheinwerk Verlag • Rheinwerkallee 4 • 53227 Bonn

Inhaltsverzeichnis Liebe Leser! Inhaltsverzeichnis

Materialien zum Buch

1   Eine erste Einführung 1.1   Was machen wir mit C++? 1.2   Was benötige ich zum Programmieren? 1.3   Die Entwicklung von C++ 1.4   So sieht das erste Programm aus 1.5   Kommentieren Sie Ihre Programme

2   Arbeiten mit Zahlen und Operatoren 2.1   Wie speichere ich Zahlen? 2.2   Rechnen mit Operatoren 2.3   Fehler suchen 2.4   Wie können Daten eingegeben werden? 2.5   Zahlen formatieren mit Manipulatoren

2.6   Zuweisungen kürzer schreiben 2.7   Übung 2.8   Mehr über die Speicherung von Zahlen 2.8.1   Ganzzahlige Datentypen 2.8.2   Datentypen für Fließkommazahlen

2.9   Feste Werte in Konstanten speichern 2.10   Konstanten in Enumerationen zusammenfassen 2.11   Zahlensysteme 2.12   Initialisierung 2.13   Wie erzeuge ich zufällige Zahlen? 2.14   Übung

3   Mehrere Zweige in einem Programm 3.1   Zwei Zweige mit »if« und »else« 3.2   Bedingungen benötigen Vergleiche 3.3   Mehr als zwei Zweige 3.4   Wie kann ich Bedingungen kombinieren? 3.5   Zweige zusammenfassen mit »switch« und »case« 3.6   Was ist mit dem Rest? 3.7   Welcher Operator hat Vorrang? 3.8   Übungen

3.9   Wie speichere ich Wahrheitswerte? 3.10   Die Kurzform: der bedingte Ausdruck

4   Teile von Programmen wiederholen 4.1   Regelmäßige Wiederholungen mit »for« 4.2   Wiederholungen für einen Bereich 4.3   Bedingte Wiederholungen mit »do-while« 4.4   Besser vorher prüfen mit »while« 4.5   Wiederholungen abbrechen oder fortsetzen 4.6   Die Wiederholung der Wiederholung 4.7   Übungen

5   Programme aufteilen in Funktionen 5.1   So schreibe ich eine eigene Funktion 5.2   Wie übergebe ich Daten? 5.2.1   Ein weiterer Zugriff über eine Referenz 5.2.2   Übergabe an eine Referenz 5.2.3   Übergabe an eine konstante Referenz

5.3   Wie erhalte ich ein Ergebnis zurück? 5.4   Mehr Ordnung im Programm 5.5   Statische Variablen behalten ihren Wert 5.6   Fehler suchen

5.7   Übungen 5.8   Standardwerte vorgeben 5.9   Beliebig viele Parameter 5.10   Funktionen mehrfach definieren 5.11   Funktionen, die sich selbst aufrufen 5.12   Anonyme Funktionen 5.12.1   So schreibe ich eine anonyme Funktion 5.12.2   Daten von außerhalb erfassen 5.12.3   Wie übergebe ich Parameter? 5.12.4   Wie erhalte ich ein Ergebnis zurück?

5.13   Funktionen als Parameter

6   Große Datenmengen speichern in Feldern 6.1   Wie werden Felder unterschieden? 6.2   Einfache Felder mit fester Größe 6.3   Intelligente Felder mit fester Größe 6.4   Ausnahmen behandeln 6.5   Einfache und intelligente Zeiger 6.5.1   Einfache Zeiger 6.5.2   Die Operatoren »new« und »delete« 6.5.3   Ein intelligenter und eindeutiger Zeiger 6.5.4   Das Funktionstemplate »make_unique« 6.5.5   Weitere intelligente Zeiger

6.6   Intelligente Felder mit variabler Größe

6.7   Felder initialisieren 6.8   Felder als Parameter 6.9   Daten in mehreren Dimensionen speichern 6.9.1   Ein zweidimensionales Feld mit fester Größe 6.9.2   Ein zweidimensionales Feld mit variabler Größe

6.10   Übungen

7   Arbeiten mit Zeichen und Texten 7.1   Einzelne Zeichen 7.2   Einfache Zeichenketten 7.3   Intelligente Zeichenketten: Strings 7.3.1   Strings erzeugen 7.3.2   Strings ändern 7.3.3   Strings vergleichen und durchsuchen

7.4   Wie wandle ich Zahlen in Strings um? 7.5   Wie verarbeite ich Eingaben? 7.6   Felder von Zeichenketten 7.7   Suchen und Ersetzen 7.7.1   Funktionen zum Suchen und Ersetzen 7.7.2   Beginn und Ende 7.7.3   Auswahl und Bereiche 7.7.4   Gruppen, Anzahl und Sonderzeichen

7.8   Übungen

8   Daten in Strukturen zusammenfassen 8.1   Wie speichere ich zusammengehörige Daten? 8.2   Besser einen Typ definieren 8.3   Strukturen und Felder 8.4   Strukturen und Funktionen 8.4.1   Das Hauptprogramm 8.4.2   Die Größe des Felds festlegen 8.4.3   Die Eingabefunktionen 8.4.4   Die Ausgabefunktionen

8.5   Eine Hierarchie von Strukturen 8.6   Übung

9   Vorhandene Funktionen nutzen 9.1   Umgang mit Datum und Uhrzeit 9.1.1   Datum und Uhrzeit ausgeben 9.1.2   Zeit messen 9.1.3   Zeitangaben erzeugen und berechnen

9.2   Bessere zufällige Zahlen 9.2.1   Mersenne-Twister 9.2.2   Binomialverteilung 9.2.3   Übung

9.3   Mehrere Threads zur gleichen Zeit 9.3.1   Ablauf von Threads 9.3.2   Parameter für Threads 9.3.3   Gemeinsame Daten

9.3.4   Gemeinsame Daten schützen

9.4   Nützliche mathematische Funktionen 9.4.1   Winkelfunktionen 9.4.2   Funktionen zum Runden 9.4.3   Verschiedene mathematische Funktionen 9.4.4   Prüffunktionen 9.4.5   Betrag und Vergleich 9.4.6   Numerische Funktionen

9.5   Übungen 9.6   Rechnen mit komplexen Zahlen 9.6.1   Erstellung von komplexen Zahlen 9.6.2   Spezielle Funktionen 9.6.3   Operatoren 9.6.4   Mathematische Funktionen

9.7   Daten mit dem Betriebssystem austauschen 9.7.1   Wie lauten die Parameter? 9.7.2   Berechnung der Summe der Parameter 9.7.3   Wie nutze ich die Rückgabe eines Programms? 9.7.4   Systemkommandos ausführen 9.7.5   Ausgabe umlenken 9.7.6   Eingabe umlenken

9.8   Zugriff auf Dateien und Verzeichnisse 9.8.1   Pfad-Objekte 9.8.2   Rechte für den Zugriff ermitteln 9.8.3   Rechte für den Zugriff ändern 9.8.4   Verzeichnisse und Verzeichnishierarchien 9.8.5   Dateien ändern 9.8.6   Verzeichnisse ändern 9.8.7   Verzeichnisse rekursiv ändern

10   Eigene Klassen entwerfen 10.1   Klassen umfassen Eigenschaften und Methoden 10.1.1   Die Definition der Klasse 10.1.2   Objekte als Instanzen einer Klasse

10.2   Schützen Sie die Daten 10.3   Wie erzeuge und lösche ich Objekte? 10.4   Statische Elemente einer Klasse 10.5   Wie überlade ich Operatoren? 10.6   Objekte und Felder 10.7   Objekte ausgeben 10.8   Eigenschaften können Objekte sein 10.9   Übungen

11   Vererbung und Polymorphie 11.1   Basisklasse und abgeleitete Klassen 11.2   Welche Elemente sind an welcher Stelle erreichbar? 11.3   Konstruktoren in abgeleiteten Klassen 11.4   Was bedeutet Polymorphie? 11.5   Erben von mehreren Klassen

12   Datenströme verarbeiten

12.1   Sequenzielles Schreiben und Lesen 12.1.1   Schreiben in eine Datei 12.1.2   Pfadangaben 12.1.3   Lesen aus einer Datei 12.1.4   Mehrmals öffnen und schließen

12.2   Schreiben und Lesen an beliebiger Stelle 12.2.1   Formatiertes Schreiben in eine Datei 12.2.2   Lesen an beliebiger Stelle einer Datei 12.2.3   Schreiben an beliebiger Stelle in eine Datei

12.3   Wie leiten Sie Datenströme? 12.3.1   String-Streams auf dem Bildschirm ausgeben 12.3.2   String-Streams von Tastatur lesen

12.4   Wie ist das CSV-Format zum Austausch aufgebaut? 12.4.1   Im CSV-Format in eine Datei schreiben 12.4.2   Eine Datei im CSV-Format lesen

12.5   Übung

13   Container sind vielfältige Datenstrukturen 13.1   Wie durchlaufe ich Container? 13.2   Intelligente Felder mit fester Größe 13.3   Intelligente Felder mit variabler Größe 13.4   Eine Warteschlange mit zwei Enden 13.5   Daten in Listen verketten 13.5.1   Einfach verkettete Listen 13.5.2   Doppelt verkettete Listen

13.6   Drei einfache Container 13.6.1   Stapel 13.6.2   Einfache Warteschlangen 13.6.3   Prioritäts-Warteschlangen

13.7   Zwei nützliche Typen 13.7.1   Paare 13.7.2   Tupel

13.8   Eine Menge von Elementen 13.8.1   Sortiert und einzigartig 13.8.2   Nicht sortiert und einzigartig 13.8.3   Sortiert und nicht einzigartig 13.8.4   Nicht sortiert und nicht einzigartig

13.9   Schlüssel und Werte in einer Map 13.9.1   Sortiert und einzigartig 13.9.2   Nicht sortiert und einzigartig 13.9.3   Sortiert und nicht einzigartig 13.9.4   Nicht sortiert und nicht einzigartig

13.10   Algorithmen für Bereiche 13.11   Mengenlehre 13.12   Eine Menge von Bits 13.12.1   Funktionen für Bitsets 13.12.2   Operatoren für Bitsets

14   Mehr zu eigenen Klassen 14.1   Objekte initialisieren, kopieren und erzeugen 14.2   Klassen können Freunde haben

14.2.1   Befreundete Funktionen 14.2.2   Befreundete Klassen

14.3   Namen müssen eindeutig sein 14.4   Fehler behandeln mit Ausnahmen 14.4.1   Ausnahmen in Schleifen 14.4.2   Eigene Ausnahmen werfen 14.4.3   Ausnahme in Funktion behandeln 14.4.4   Eigene Ausnahmeklasse definieren

14.5   Innere Klassen 14.6   Templates sind Vorlagen 14.6.1   Templates für Funktionen 14.6.2   Templates für Klassen

15   Präprozessor-Anweisungen 15.1   Einbinden von Dateien 15.2   Definitionen und Makros 15.3   Definitionen und Verzweigungen 15.4   Eine Systemweiche

16   Grafische Benutzeroberflächen mit der QtBibliothek 16.1   Die erste GUI-Anwendung 16.1.1   Klasse und Dateien 16.1.2   Projekt- und Codefenster 16.1.3   »Design«-Ansicht

16.1.4   Projekt ausführen 16.1.5   Ein Label einfügen und gestalten 16.1.6   Weitere Widgets einfügen und gestalten 16.1.7   Code und Verbindung erstellen 16.1.8   Registerkarte »Signals und Slots«

16.2   Ein einfacher Kopfrechentrainer 16.2.1   Die Erstellung der GUI 16.2.2   Die Deklaration der Klasse 16.2.3   Die Definition ohne Prüfung 16.2.4   Die Definition mit Prüfung

16.3   Ein erweiterter Kopfrechentrainer 16.3.1   Ein Projekt kopieren 16.3.2   Die Erweiterung der GUI 16.3.3   Die Erweiterung der Deklaration 16.3.4   Die Erweiterung des Konstruktors 16.3.5   Die Erweiterung des Prüfvorgangs 16.3.6   Die Erweiterung der Aufgabenstellung

16.4   Weitere Widgets 16.4.1   Beschreibung der Widgets 16.4.2   Die Erstellung der GUI 16.4.3   Die Deklaration der Klasse 16.4.4   Der Konstruktor der Klasse 16.4.5   Die Ereignismethoden der Klasse

17   Datenbanken mit SQLite verwalten 17.1   Der Aufbau einer Datenbank 17.2   Wie erzeuge ich Datenbank und Tabelle? 17.2.1   Die Erstellung der GUI

17.2.2   Die Deklaration der Klasse 17.2.3   Konstruktor und Destruktor der Klasse 17.2.4   Die Ereignismethode der Klasse

17.3   Wie speichere ich Daten in einer Tabelle? 17.4   So zeige ich alle Daten einer Tabelle an 17.5   Wie wähle ich bestimmte Daten aus? 17.5.1   Vergleichsoperatoren 17.5.2   Logische Operatoren 17.5.3   Vergleichsoperator »LIKE«

17.6   Der Benutzer wählt Daten aus 17.7   Daten sollten sortiert werden 17.8   Wie ändere ich Daten? 17.9   Vorsicht beim Löschen von Daten 17.10   Eine Datenbank mit mehreren Tabellen 17.10.1   Inhalt der Datenbank 17.10.2   Das Datenbankmodell 17.10.3   Der Aufbau des Qt-Projekts 17.10.4   Das Erstellen und Füllen der Tabellen 17.10.5   Abfragen über einzelne Tabellen 17.10.6   Abfragen über zwei verbundene Tabellen 17.10.7   Abfragen über drei verbundene Tabellen 17.10.8   Gruppieren und Summieren

17.11   Projekt Vokabeln 17.11.1   Die Benutzung des Programms 17.11.2   Der Aufbau des Qt-Projekts 17.11.3   Die Deklaration der Klasse 17.11.4   Der Konstruktor der Klasse

17.11.5   Das Aktivieren und Deaktivieren von Widgets 17.11.6   Die Auswahl der Sprachkombination 17.11.7   Der Vokabeltest wird gestartet 17.11.8   Die Übersetzung wird geprüft 17.11.9   Der Vokabeltest wird vorzeitig beendet 17.11.10   Die Neueingabe von Vokabeln wird gestartet 17.11.11   Die List Widgets werden parallel markiert 17.11.12   Eine neue Vokabel wird gespeichert 17.11.13   Eine Vokabel wird gelöscht 17.11.14   Die Neueingabe von Vokabeln wird beendet 17.11.15   Mögliche Erweiterungen des Programms

17.12   Übung 17.12.1   Benutzeroberfläche 17.12.2   Bedienung 17.12.3   Zugriff auf Date Edit Widget 17.12.4   Eintrag im List Widget aufsplitten

A   Installationen A.1   Installationen unter Windows A.1.1   Code::Blocks installieren A.1.2   Code::Blocks nutzen A.1.3   Orwell Dev-C++ A.1.4   Die Java-Laufzeitumgebung A.1.5   Eclipse installieren A.1.6   Eclipse nutzen A.1.7   Qt installieren A.1.8   Qt nutzen A.1.9   MinGW installieren A.1.10   MinGW in den Pfad eintragen

A.2   Installationen unter Ubuntu Linux A.2.1   Arbeiten im Terminal A.2.2   Code::Blocks installieren A.2.3   Die Java-Laufzeitumgebung A.2.4   Eclipse installieren A.2.5   Qt installieren

A.3   Installationen unter macOS A.3.1   XCode A.3.2   Arbeiten im Terminal A.3.3   Code::Blocks A.3.4   Eclipse installieren A.3.5   Qt installieren

A.4   Ubuntu Linux unter Windows installieren A.4.1   Downloads A.4.2   Virtuelle Maschine konfigurieren A.4.3   ISO-Datei als Medium einlegen A.4.4   Installation A.4.5   Gasterweiterungen A.4.6   Gemeinsamen Ordner einrichten

B   Hilfestellungen und Übersichten B.1   Windows – einige Tastenkombinationen B.2   Unix-Befehle B.2.1   Inhalt eines Verzeichnisses B.2.2   Verzeichnis anlegen, wechseln und löschen B.2.3   Datei kopieren, verschieben und löschen

B.3   Schlüsselwörter der Sprache C++

Stichwortverzeichnis Rechtliche Hinweise Über den Autor

Materialien zum Buch Auf der Webseite zu diesem Buch stehen folgende Materialien für Sie zum Download bereit: Alle Beispielprogramme Musterlösungen für die Übungsaufgaben Bonus-Kapitel als Ergänzung zu Abschnitt 9.8, »Zugriff auf Dateien und Verzeichnisse« Gehen Sie auf www.rheinwerk-verlag.de/5179. Klicken Sie auf den Reiter Materialien zum Buch. Sie sehen die herunterladbaren Dateien samt einer Kurzbeschreibung des Dateiinhalts. Klicken Sie auf den Button Herunterladen, um den Download zu starten. Je nach Größe der Datei (und Ihrer Internetverbindung) kann es einige Zeit dauern, bis der Download abgeschlossen ist.

1    Eine erste Einführung Die Sprache C++ ist weit verbreitet, wird vielfältig genutzt und zählt schon lange zu den wichtigsten Programmiersprachen. Nachdem wir geklärt haben, wie wir mit C++ arbeiten und welcher C++-Standard für uns wichtig ist, schreiben wir bereits das erste Programm.

1.1    Was machen wir mit C++? Wir werden mit der Sprache C++ objektorientiert programmieren, also mit Klassen, Objekten, Eigenschaften und Methoden und nach den Konzepten der Datenkapselung, der Vererbung und der Polymorphie. Als Vorbereitung dazu werden wir mit C++ zunächst klassisch prozedural arbeiten, also mit Datentypen, Operatoren, Kontrollstrukturen und Funktionen starten. Auf diese Weise erhalten Sie eine solide Grundlage, die Ihnen anschließend den Einstieg in die Objektorientierung erleichtert. Alle genannten Begriffe lernen Sie ausführlich kennen. Das Verständnis der Theorie wird Ihnen anhand von circa 200 vollständigen lauffähigen Beispielprogrammen erleichtert. Mithilfe von vielen eingestreuten Übungsaufgaben können Sie Ihren wachsenden Kenntnisstand prüfen. Alle Beispielprogramme und alle Lösungen zu den Übungsaufgaben finden Sie im

Downloadbereich zum Buch unter der Adresse www.rheinwerkverlag.de/5179. Es gibt zahlreiche Bibliotheken, die die Möglichkeiten von C++ erweitern. Die Sprache C++ ist ursprünglich als Weiterentwicklung der Sprache C entstanden. Aufgrund der Verwandtschaft ist es auch in C++ möglich, hardware-orientierte schnelle Programme zu entwickeln.

1.2    Was benötige ich zum Programmieren? Sie können Ihre C++-Programme bereits mit einem einfachen Texteditor erstellen, sie mithilfe des Befehls g++ übersetzen und anschließend ausführen. Unter Windows machen Sie das in der Eingabeaufforderung, unter Ubuntu Linux und unter macOS in einem Terminal. Die dazu notwendigen Schritte werden in Anhang A, »Installationen«, beschrieben. Viele Texteditoren bieten ein Syntax-Highlighting für C++, also ein farbliches Hervorheben der Sprachelemente. Wesentlich mehr Komfort bietet eine integrierte Entwicklungsumgebung (engl.: Integrated Development Environment, kurz IDE). Für die Betriebssysteme Windows, Ubuntu Linux und macOS gibt es eine Reihe von frei verfügbaren IDEs, die u. a. Folgendes bieten: einen Editor, mit dessen Hilfe Sie den Programmcode schreiben einen Compiler, mit dessen Hilfe Sie den Programmcode in die Sprache übersetzen, die der jeweilige Rechner versteht einen Debugger, der Ihnen bei der Fehlersuche hilft Die Installation und die Nutzung verschiedener IDEs, z. B. von Eclipse, Qt Creator, Xcode, Code::Blocks und Orwell Dev C++ wird ebenfalls in Anhang A, »Installationen«, beschrieben.

1.3    Die Entwicklung von C++ Die Sprache C++ wurde im Jahr 1979 von Bjarne Stroustrup entwickelt. Über die Jahre hinweg hat C++ viele Neuerungen erfahren. Im Jahr 1998 erschien die standardisierte Version C++98. Weitere Verbesserungen sind mit den Standards C++03, C++11, C++14 und C++17 in den Jahren 2003, 2011, 2014 und 2017 eingeflossen. Aktuell (im Mai 2020) ist die Entwicklung der Version C++20 bereits weit fortgeschritten. Der zugehörige Entwurf C++2a, der bereits einige Möglichkeiten von C++20 bietet, kann z. B. in den folgenden Konstellationen genutzt werden: mit dem GCC-Compiler in der Version 9.3.0 in einem Terminal unter Ubuntu Linux mit der Programmsammlung MinGW, die den GCC-Compiler in der Version 9.2.0 nutzt, in einer Eingabeaufforderung unter Windows mit dem Clang-Compiler in der Version 9.1.0 in einem Terminal unter macOS Die Programme dieses Buchs wurden primär unter diesen drei Umgebungen entwickelt und getestet. Lassen Sie sich nicht irritieren, falls vereinzelt eine Warnung beim Bearbeiten eines Programms in einer IDE erscheint: Nicht alle IDEs setzen die C++Standards zu 100 % um. Falls Sie weitere Informationen zur Sprache C++ und der Zuordnung ihrer Elemente zu den verschiedenen Versionen benötigen, empfehle ich die C++-Referenz unter der folgenden Adresse: http://cppreference.com.

1.4    So sieht das erste Programm aus In diesem Abschnitt lernen Sie das erste C++-Programm kennen. Es geht zunächst nur um das Verständnis für den Aufbau des Programms. Es wird eine Reihe von Begriffen eingeführt. Ihre Bedeutung wird erläutert, zudem werden sie Ihnen im Verlauf des Buchs immer vertrauter. Das nachfolgende Programm gibt den Text Hallo Welt auf dem Bildschirm aus, gefolgt von einem Zeilenumbruch: #include

using namespace std;

int main()

{

cout (anonyme Funktion) [→ 5.12 Anonyme Funktionen] -> (Klasse) [→ 10.3 Wie erzeuge und lösche ich Objekte?] -> (Struktur) [→ 8.2 Besser einen Typ definieren] ^ (bitweises Exklusiv-Oder) [→ 13.12 Eine Menge von Bits] _ (SQL) [→ 17.5 Wie wähle ich bestimmte Daten aus?] __DATE__ [→ 15.2 Definitionen und Makros] __FILE__ [→ 15.2 Definitionen und Makros] __LINE__ [→ 15.2 Definitionen und Makros] __TIME__ [→ 15.2 Definitionen und Makros] __unix__ [→ 15.4 Eine Systemweiche] __WIN32__ [→ 15.4 Eine Systemweiche]

! (logisches Nicht) [→ 3.4 Wie kann ich Bedingungen kombinieren?] != (ungleich) [→ 3.2 Bedingungen benötigen Vergleiche] [ ] (anonyme Funktion) [→ 5.12 Anonyme Funktionen] [ ] (Feld) [→ 6.2 Einfache Felder mit fester Größe] [ ] (Map) [→ 13.9 Schlüssel und Werte in einer Map] [ ] (Zugriffsfehler) [→ 6.4 Ausnahmen behandeln] { } (Block) [→ 3.1 Zwei Zweige mit »if« und »else«] { } (Funktion) [→ 1.4 So sieht das erste Programm aus] * (Deklaration) [→ 6.5 Einfache und intelligente Zeiger] * (Dereferenzierung) [→ 6.5 Einfache und intelligente Zeiger] * (Multiplikation) [→ 2.2 Rechnen mit Operatoren] *= (Zuweisung) [→ 2.6 Zuweisungen kürzer schreiben] / (Division) [→ 2.2 Rechnen mit Operatoren] /* */ (Kommentar) [→ 1.5 Kommentieren Sie Ihre Programme] // (Kommentar) [→ 1.5 Kommentieren Sie Ihre Programme] /= (Zuweisung) [→ 2.6 Zuweisungen kürzer schreiben] & (Adressoperator) [→ 6.5 Einfache und intelligente Zeiger] & (bitweises Und) [→ 13.12 Eine Menge von Bits] & (Referenz) [→ 5.2 Wie übergebe ich Daten?] && (logisches Und) [→ 3.4 Wie kann ich Bedingungen kombinieren?]

#define [→ 15.2 Definitionen und Makros] #elif [→ 15.3 Definitionen und Verzweigungen] #else [→ 15.3 Definitionen und Verzweigungen] #endif [→ 15.3 Definitionen und Verzweigungen] #if [→ 15.3 Definitionen und Verzweigungen] #ifdef [→ 15.3 Definitionen und Verzweigungen] #ifndef [→ 15.3 Definitionen und Verzweigungen] #include [→ 1.4 So sieht das erste Programm aus] [→ 15.1 Einbinden von Dateien] % (Modulo) [→ 2.13 Wie erzeuge ich zufällige Zahlen?] [→ 3.6 Was ist mit dem Rest?] % (SQL) [→ 17.5 Wie wähle ich bestimmte Daten aus?] + (Addition) [→ 2.2 Rechnen mit Operatoren] ++ (Inkrement) [→ 2.6 Zuweisungen kürzer schreiben] [→ 13.1 Wie durchlaufe ich Container?] [→ 13.5 Daten in Listen verketten] += (Zuweisung) [→ 2.6 Zuweisungen kürzer schreiben] [→ 13.1 Wie durchlaufe ich Container?] < (kleiner) [→ 3.2 Bedingungen benötigen Vergleiche] [→ 17.5 Wie wähle ich bestimmte Daten aus?] < (Umlenkung) [→ 9.7 Daten mit dem Betriebssystem austauschen] > (istringstream) [→ 12.3 Wie leiten Sie Datenströme?] >> (Tastatur) [→ 2.4 Wie können Daten eingegeben werden?]

>> (Umlenkung) [→ 9.7 Daten mit dem Betriebssystem austauschen] >>= (bitweise schieben) [→ 13.12 Eine Menge von Bits] | (bitweises Oder) [→ 12.2 Schreiben und Lesen an beliebiger Stelle] [→ 13.12 Eine Menge von Bits] || (logisches Oder) [→ 3.4 Wie kann ich Bedingungen kombinieren?] . (Klasse) [→ 6.3 Intelligente Felder mit fester Größe] [→ 10.1 Klassen umfassen Eigenschaften und Methoden] . (Struktur) [→ 8.1 Wie speichere ich zusammengehörige Daten?] . (Verzeichnis) [→ B.2 Unix-Befehle] .. (Verzeichnis) [→ B.2 Unix-Befehle] ... (Restparameter) [→ 5.9 Beliebig viele Parameter] ?: (bedingter Ausdruck) [→ 3.10 Die Kurzform: der bedingte Ausdruck] :: (Scope) [→ 7.3 Intelligente Zeichenketten: Strings] [→ 10.1 Klassen umfassen Eigenschaften und Methoden] [→ 14.3 Namen müssen eindeutig sein] \ (Zeichenkette)" [→ 7.2 Einfache Zeichenketten] \\0 (Endezeichen) [→ 7.2 Einfache Zeichenketten] ~ (bitweises Nicht) [→ 13.12 Eine Menge von Bits] ~ (Destruktor) [→ 10.3 Wie erzeuge und lösche ich Objekte?]

A ⇑ Ableitung [→ 11.1 Basisklasse und abgeleitete Klassen] abs() cmath [→ 9.4 Nützliche mathematische Funktionen] complex [→ 9.6 Rechnen mit komplexen Zahlen] Absoluter Pfad [→ 12.1 Sequenzielles Schreiben und Lesen] Addition [→ 2.2 Rechnen mit Operatoren] Adressoperator [→ 6.5 Einfache und intelligente Zeiger] algorithm [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] [→ 13.10 Algorithmen für Bereiche] all() [→ 13.12 Eine Menge von Bits] Anonyme Funktion [→ 5.12 Anonyme Funktionen] [→ 13.10 Algorithmen für Bereiche] Anweisung [→ 1.4 So sieht das erste Programm aus] lange [→ 2.2 Rechnen mit Operatoren] [→ 2.2 Rechnen mit Operatoren] mehrere [→ 2.6 Zuweisungen kürzer schreiben] Anweisungsblock [→ 3.1 Zwei Zweige mit »if« und »else«] [→ 4.1 Regelmäßige Wiederholungen mit »for«] [→ 6.4 Ausnahmen behandeln] any() [→ 13.12 Eine Menge von Bits] append() path [→ 9.8 Zugriff auf Dateien und Verzeichnisse]

arg() [→ 9.6 Rechnen mit komplexen Zahlen] argc [→ 9.7 Daten mit dem Betriebssystem austauschen] argv [→ 9.7 Daten mit dem Betriebssystem austauschen] array [→ 6.3 Intelligente Felder mit fester Größe] [→ 13.2 Intelligente Felder mit fester Größe] Iterator [→ 13.2 Intelligente Felder mit fester Größe] mehrdimensional [→ 6.9 Daten in mehreren Dimensionen speichern] Assoziativer Container [→ 13.9 Schlüssel und Werte in einer Map] at() array [→ 6.3 Intelligente Felder mit fester Größe] [→ 13.2 Intelligente Felder mit fester Größe] Fehler abfangen [→ 6.4 Ausnahmen behandeln] string [→ 7.3 Intelligente Zeichenketten: Strings] vector [→ 6.6 Intelligente Felder mit variabler Größe] [→ 13.3 Intelligente Felder mit variabler Größe] Ausgabe Ausrichtung [→ 2.5 Zahlen formatieren mit Manipulatoren] Bildschirm [→ 1.4 So sieht das erste Programm aus] Breite [→ 2.5 Zahlen formatieren mit Manipulatoren] Datei [→ 12.1 Sequenzielles Schreiben und Lesen] Füllzeichen [→ 2.5 Zahlen formatieren mit Manipulatoren]

Nachkommastellen [→ 2.5 Zahlen formatieren mit Manipulatoren] umlenken [→ 9.7 Daten mit dem Betriebssystem austauschen] Ausgabestrom [→ 7.4 Wie wandle ich Zahlen in Strings um?] [→ 12.3 Wie leiten Sie Datenströme?] leeren [→ 7.4 Wie wandle ich Zahlen in Strings um?] Ausnahme werfen [→ 14.4 Fehler behandeln mit Ausnahmen] Ausnahmebehandlung [→ 6.4 Ausnahmen behandeln] in Funktion [→ 14.4 Fehler behandeln mit Ausnahmen] in Klasse [→ 14.4 Fehler behandeln mit Ausnahmen] mit Schleife [→ 14.4 Fehler behandeln mit Ausnahmen] auto [→ 4.2 Wiederholungen für einen Bereich] anonyme Funktion [→ 5.12 Anonyme Funktionen]

B ⇑ back() deque [→ 13.4 Eine Warteschlange mit zwei Enden] queue [→ 13.6 Drei einfache Container] Basis [→ 9.4 Nützliche mathematische Funktionen] Basisklasse [→ 11.1 Basisklasse und abgeleitete Klassen] Bedingter Ausdruck [→ 3.10 Die Kurzform: der bedingte Ausdruck] Bedingung [→ 3.1 Zwei Zweige mit »if« und »else«]

Fließkommazahl [→ 4.1 Regelmäßige Wiederholungen mit »for«] verknüpfen [→ 3.4 Wie kann ich Bedingungen kombinieren?] begin() iterator [→ 13.1 Wie durchlaufe ich Container?] string [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] Benannte Funktion [→ 5.12 Anonyme Funktionen] Benutzeroberfläche [→ 16.1 Die erste GUI-Anwendung] Bereich [→ 13.1 Wie durchlaufe ich Container?] Algorithmen [→ 13.10 Algorithmen für Bereiche] Anzahl [→ 13.10 Algorithmen für Bereiche] Anzahl wenn [→ 13.10 Algorithmen für Bereiche] Differenzmenge [→ 13.11 Mengenlehre] durchlaufen [→ 13.10 Algorithmen für Bereiche] finden Element [→ 13.10 Algorithmen für Bereiche] mischen [→ 13.10 Algorithmen für Bereiche] prüfen [→ 13.11 Mengenlehre] rotieren [→ 13.10 Algorithmen für Bereiche] Schnittmenge [→ 13.11 Mengenlehre] sortieren [→ 13.10 Algorithmen für Bereiche] tauschen [→ 13.10 Algorithmen für Bereiche] tauschen Element [→ 13.10 Algorithmen für Bereiche] vereinigen [→ 13.11 Mengenlehre]

Vereinigungsmenge [→ 13.11 Mengenlehre] Bereichsbasierte Schleife [→ 4.2 Wiederholungen für einen Bereich] Feld [→ 6.2 Einfache Felder mit fester Größe] Betrag [→ 9.4 Nützliche mathematische Funktionen] komplexe Zahl [→ 9.6 Rechnen mit komplexen Zahlen] binär [→ 2.11 Zahlensysteme] binäre Vergleichsfunktion [→ 13.10 Algorithmen für Bereiche] binomial_distribution [→ 9.2 Bessere zufällige Zahlen] Binomialverteilung [→ 9.2 Bessere zufällige Zahlen] Bit [→ 13.12 Eine Menge von Bits] bitset [→ 13.12 Eine Menge von Bits] Funktion [→ 13.12 Eine Menge von Bits] Operator [→ 13.12 Eine Menge von Bits] bitweise Exklusiv-Oder [→ 13.12 Eine Menge von Bits] Oder [→ 12.2 Schreiben und Lesen an beliebiger Stelle] [→ 13.12 Eine Menge von Bits] Und [→ 13.12 Eine Menge von Bits] Verneinung [→ 13.12 Eine Menge von Bits] Verschiebung [→ 13.12 Eine Menge von Bits] Bogenmaß [→ 9.4 Nützliche mathematische Funktionen] bool [→ 3.9 Wie speichere ich Wahrheitswerte?]

Boolesche Variable [→ 3.9 Wie speichere ich Wahrheitswerte?] break [→ 4.5 Wiederholungen abbrechen oder fortsetzen] Bubble-Sort [→ 8.3 Strukturen und Felder] [→ 10.6 Objekte und Felder]

C ⇑ C [→ 1.1 Was machen wir mit C++?] c_str() [→ 7.3 Intelligente Zeichenketten: Strings] C++ Referenz [→ 1.3 Die Entwicklung von C++] Standard [→ 1.3 Die Entwicklung von C++] camelCase [→ 2.1 Wie speichere ich Zahlen?] capture list [→ 5.12 Anonyme Funktionen] case [→ 3.5 Zweige zusammenfassen mit »switch« und »case«] Cast [→ 7.2 Einfache Zeichenketten] [→ 9.4 Nützliche mathematische Funktionen] catch [→ 6.4 Ausnahmen behandeln] cbrt() [→ 9.4 Nützliche mathematische Funktionen] cd [→ B.2 Unix-Befehle] ceil() [→ 9.4 Nützliche mathematische Funktionen] cfloat [→ 2.8 Mehr über die Speicherung von Zahlen] char [→ 7.1 Einzelne Zeichen] [→ 7.3 Intelligente Zeichenketten: Strings]

chmod [→ 9.7 Daten mit dem Betriebssystem austauschen] chrono [→ 9.1 Umgang mit Datum und Uhrzeit] cin [→ 2.4 Wie können Daten eingegeben werden?] getline() [→ 7.5 Wie verarbeite ich Eingaben?] Clang [→ A.3 Installationen unter macOS] class [→ 10.1 Klassen umfassen Eigenschaften und Methoden] clear() deque [→ 13.4 Eine Warteschlange mit zwei Enden] forward_list [→ 13.5 Daten in Listen verketten] istringstream [→ 7.5 Wie verarbeite ich Eingaben?] [→ 12.3 Wie leiten Sie Datenströme?] list [→ 13.5 Daten in Listen verketten] set [→ 13.8 Eine Menge von Elementen] vector [→ 13.3 Intelligente Felder mit variabler Größe] climits [→ 2.8 Mehr über die Speicherung von Zahlen] close() ifstream [→ 12.1 Sequenzielles Schreiben und Lesen] ofstream [→ 12.1 Sequenzielles Schreiben und Lesen] cmath [→ 9.4 Nützliche mathematische Funktionen] CodeBlocks macOS [→ A.3 Installationen unter macOS] nutzen [→ A.1 Installationen unter Windows] Ubuntu Linux [→ A.2 Installationen unter Ubuntu Linux] Windows [→ A.1 Installationen unter Windows]

Codenummer [→ 7.1 Einzelne Zeichen] Comma-separated Values [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] Compiler [→ 1.2 Was benötige ich zum Programmieren?] complex [→ 9.6 Rechnen mit komplexen Zahlen] concat() path [→ 9.8 Zugriff auf Dateien und Verzeichnisse] conj() [→ 9.6 Rechnen mit komplexen Zahlen] const [→ 2.9 Feste Werte in Konstanten speichern] [→ 5.2 Wie übergebe ich Daten?] [→ 5.2 Wie übergebe ich Daten?] Constraint [→ 17.3 Wie speichere ich Daten in einer Tabelle?] Container assoziativ [→ 13.9 Schlüssel und Werte in einer Map] Bibliothek [→ 6.3 Intelligente Felder mit fester Größe] [→ 13.1 Wie durchlaufe ich Container?] durchlaufen [→ 13.1 Wie durchlaufe ich Container?] Größe [→ 13.1 Wie durchlaufe ich Container?] leer [→ 13.1 Wie durchlaufe ich Container?] contains() map [→ 13.9 Schlüssel und Werte in einer Map] set [→ 13.8 Eine Menge von Elementen] continue [→ 4.5 Wiederholungen abbrechen oder fortsetzen] copy_file() [→ 9.8 Zugriff auf Dateien und Verzeichnisse]

copy_options [→ 9.8 Zugriff auf Dateien und Verzeichnisse] copy() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] cos() [→ 9.4 Nützliche mathematische Funktionen] count_if() [→ 13.10 Algorithmen für Bereiche] count() algorithm [→ 13.10 Algorithmen für Bereiche] bitset [→ 13.12 Eine Menge von Bits] duration [→ 9.1 Umgang mit Datum und Uhrzeit] map [→ 13.9 Schlüssel und Werte in einer Map] set [→ 13.8 Eine Menge von Elementen] cout [→ 1.4 So sieht das erste Programm aus] Objekt [→ 10.7 Objekte ausgeben] cp [→ B.2 Unix-Befehle] create_directory() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] cstdarg [→ 5.9 Beliebig viele Parameter] cstdlib [→ 2.13 Wie erzeuge ich zufällige Zahlen?] [→ 9.7 Daten mit dem Betriebssystem austauschen] cstring [→ 7.2 Einfache Zeichenketten] CSV [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] ctime [→ 9.1 Umgang mit Datum und Uhrzeit] current_path() [→ 9.8 Zugriff auf Dateien und Verzeichnisse]

D ⇑ Datei anlegen [→ B.2 Unix-Befehle] ausführbar [→ 9.7 Daten mit dem Betriebssystem austauschen] einbinden [→ 15.1 Einbinden von Dateien] Erweiterung [→ 9.8 Zugriff auf Dateien und Verzeichnisse] existiert [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Größe [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Informationen [→ 9.8 Zugriff auf Dateien und Verzeichnisse] kopieren [→ 9.8 Zugriff auf Dateien und Verzeichnisse] [→ B.2 Unix-Befehle] lesen beliebig [→ 12.2 Schreiben und Lesen an beliebiger Stelle] lesen CSV [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] lesen sequenziell [→ 12.1 Sequenzielles Schreiben und Lesen] Leseposition nennen [→ 12.2 Schreiben und Lesen an beliebiger Stelle] Leseposition setzen [→ 12.2 Schreiben und Lesen an beliebiger Stelle] löschen [→ 9.8 Zugriff auf Dateien und Verzeichnisse] [→ B.2 Unix-Befehle] Name [→ 9.8 Zugriff auf Dateien und Verzeichnisse]

öffnen mehrmals [→ 12.1 Sequenzielles Schreiben und Lesen] öffnen zum Lesen [→ 12.1 Sequenzielles Schreiben und Lesen] öffnen zum Schreiben [→ 12.1 Sequenzielles Schreiben und Lesen] prüfen [→ 9.8 Zugriff auf Dateien und Verzeichnisse] prüfen zum Lesen [→ 12.1 Sequenzielles Schreiben und Lesen] prüfen zum Schreiben [→ 12.1 Sequenzielles Schreiben und Lesen] schließen [→ 12.1 Sequenzielles Schreiben und Lesen] [→ 12.1 Sequenzielles Schreiben und Lesen] schließen mehrmals [→ 12.1 Sequenzielles Schreiben und Lesen] schreiben beliebig [→ 12.2 Schreiben und Lesen an beliebiger Stelle] schreiben CSV [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] schreiben formatiert [→ 12.2 Schreiben und Lesen an beliebiger Stelle] schreiben sequenziell [→ 12.1 Sequenzielles Schreiben und Lesen] Schreibposition nennen [→ 12.2 Schreiben und Lesen an beliebiger Stelle] Schreibposition setzen [→ 12.2 Schreiben und Lesen an beliebiger Stelle]

umbenennen [→ 9.8 Zugriff auf Dateien und Verzeichnisse] [→ B.2 Unix-Befehle] verschieben [→ 9.8 Zugriff auf Dateien und Verzeichnisse] [→ B.2 Unix-Befehle] versteckte [→ B.2 Unix-Befehle] Zeilenende [→ 12.2 Schreiben und Lesen an beliebiger Stelle] Zugriff [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Zugriff beliebig [→ 12.2 Schreiben und Lesen an beliebiger Stelle] Zugriff sequenziell [→ 12.1 Sequenzielles Schreiben und Lesen] Zugriffsrechte [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Zugriffsrechte ändern [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Dateiname [→ 15.2 Definitionen und Makros] Dateisystem [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Datenbank 1:n-Beziehung [→ 17.10 Eine Datenbank mit mehreren Tabellen] Beziehung [→ 17.10 Eine Datenbank mit mehreren Tabellen] [→ 17.10 Eine Datenbank mit mehreren Tabellen] Join [→ 17.10 Eine Datenbank mit mehreren Tabellen] m:n-Beziehung [→ 17.10 Eine Datenbank mit mehreren Tabellen]

mehrere Tabellen [→ 17.10 Eine Datenbank mit mehreren Tabellen] Modell [→ 17.10 Eine Datenbank mit mehreren Tabellen] Datenbanksystem [→ 17.1 Der Aufbau einer Datenbank] Datenfeld [→ 6.1 Wie werden Felder unterschieden?] Datenkapselung [→ 10.1 Klassen umfassen Eigenschaften und Methoden] [→ 11.2 Welche Elemente sind an welcher Stelle erreichbar?] Datensatz [→ 17.1 Der Aufbau einer Datenbank] Datenstruktur [→ 13.1 Wie durchlaufe ich Container?] Datentyp [→ 2.1 Wie speichere ich Zahlen?] Definition [→ 8.2 Besser einen Typ definieren] Enumeration [→ 2.10 Konstanten in Enumerationen zusammenfassen] Fließkommazahl [→ 2.8 Mehr über die Speicherung von Zahlen] Funktion [→ 5.3 Wie erhalte ich ein Ergebnis zurück?] ganzzahlig [→ 2.8 Mehr über die Speicherung von Zahlen] Genauigkeit [→ 2.8 Mehr über die Speicherung von Zahlen] Klasse [→ 10.1 Klassen umfassen Eigenschaften und Methoden] Rückgabewert [→ 5.3 Wie erhalte ich ein Ergebnis zurück?] Speicherbedarf [→ 2.8 Mehr über die Speicherung von Zahlen]

Struktur [→ 8.1 Wie speichere ich zusammengehörige Daten?] umwandeln [→ 7.2 Einfache Zeichenketten] Wertebereich [→ 2.8 Mehr über die Speicherung von Zahlen] Datum [→ 15.2 Definitionen und Makros] Debug [→ 2.3 Fehler suchen] [→ 5.6 Fehler suchen] Debugger [→ 1.2 Was benötige ich zum Programmieren?] dec [→ 2.11 Zahlensysteme] Deduktion [→ 13.1 Wie durchlaufe ich Container?] [→ 13.2 Intelligente Felder mit fester Größe] default [→ 3.5 Zweige zusammenfassen mit »switch« und »case«] default_random_engine [→ 9.2 Bessere zufällige Zahlen] define [→ 15.2 Definitionen und Makros] Deklaration auto [→ 4.2 Wiederholungen für einen Bereich] Funktion [→ 5.4 Mehr Ordnung im Programm] in Anweisungsblock [→ 4.1 Regelmäßige Wiederholungen mit »for«] mehrere [→ 2.2 Rechnen mit Operatoren] Variable [→ 2.1 Wie speichere ich Zahlen?] Dekrement [→ 2.6 Zuweisungen kürzer schreiben] delete [→ 6.5 Einfache und intelligente Zeiger]

deque [→ 13.4 Eine Warteschlange mit zwei Enden] anfügen Element [→ 13.4 Eine Warteschlange mit zwei Enden] einfügen Element [→ 13.4 Eine Warteschlange mit zwei Enden] füllen [→ 13.4 Eine Warteschlange mit zwei Enden] [→ 13.5 Daten in Listen verketten] [→ 13.5 Daten in Listen verketten] Iterator [→ 13.4 Eine Warteschlange mit zwei Enden] leeren [→ 13.4 Eine Warteschlange mit zwei Enden] löschen Element [→ 13.4 Eine Warteschlange mit zwei Enden] [→ 13.4 Eine Warteschlange mit zwei Enden] Zugriff Element [→ 13.4 Eine Warteschlange mit zwei Enden] Dereferenzierung [→ 6.5 Einfache und intelligente Zeiger] Destruktor [→ 10.3 Wie erzeuge und lösche ich Objekte?] dezimal [→ 2.11 Zahlensysteme] Dezimale Notation [→ 2.5 Zahlen formatieren mit Manipulatoren] Dezimaltrennzeichen [→ 2.1 Wie speichere ich Zahlen?] [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] Differenzmenge [→ 13.11 Mengenlehre] directory_entry [→ 9.8 Zugriff auf Dateien und Verzeichnisse] directory_iterator [→ 9.8 Zugriff auf Dateien und Verzeichnisse]

Division [→ 2.2 Rechnen mit Operatoren] ganze Zahlen [→ 2.2 Rechnen mit Operatoren] Rest [→ 2.13 Wie erzeuge ich zufällige Zahlen?] [→ 3.6 Was ist mit dem Rest?] [→ 9.4 Nützliche mathematische Funktionen] Doppelt verkettet [→ 13.5 Daten in Listen verketten] double [→ 2.1 Wie speichere ich Zahlen?] [→ 2.8 Mehr über die Speicherung von Zahlen] double-ended queue [→ 13.4 Eine Warteschlange mit zwei Enden] do-while [→ 4.3 Bedingte Wiederholungen mit »do-while«] Download zum Buch [→ 1.1 Was machen wir mit C++?] Duale Ziffer [→ 13.12 Eine Menge von Bits] duration [→ 9.1 Umgang mit Datum und Uhrzeit] [→ 9.1 Umgang mit Datum und Uhrzeit] count() [→ 9.1 Umgang mit Datum und Uhrzeit] Dynamisches Feld [→ 6.5 Einfache und intelligente Zeiger] [→ 6.6 Intelligente Felder mit variabler Größe] [→ 13.3 Intelligente Felder mit variabler Größe]

E ⇑ e (eulersche Zahl) [→ 9.4 Nützliche mathematische Funktionen] e (Exponent) [→ 2.8 Mehr über die Speicherung von Zahlen] echo off [→ 9.7 Daten mit dem Betriebssystem austauschen]

Eclipse Debug [→ 2.3 Fehler suchen] [→ 5.6 Fehler suchen] macOS [→ A.3 Installationen unter macOS] nutzen [→ A.1 Installationen unter Windows] Ubuntu Linux [→ A.2 Installationen unter Ubuntu Linux] Windows [→ A.1 Installationen unter Windows] Editor [→ 1.2 Was benötige ich zum Programmieren?] Eigenschaft [→ 6.3 Intelligente Felder mit fester Größe] [→ 10.1 Klassen umfassen Eigenschaften und Methoden] schützen [→ 10.2 Schützen Sie die Daten] Standardwert [→ 14.1 Objekte initialisieren, kopieren und erzeugen] statisch [→ 10.4 Statische Elemente einer Klasse] Einfach verkettet [→ 13.5 Daten in Listen verketten] Einfache Zeichenkette [→ 7.2 Einfache Zeichenketten] Einfacher Zeiger [→ 6.5 Einfache und intelligente Zeiger] Einfaches Feld [→ 6.2 Einfache Felder mit fester Größe] [→ 6.5 Einfache und intelligente Zeiger] Eingabe Datei [→ 12.1 Sequenzielles Schreiben und Lesen] ganze Zeile [→ 7.5 Wie verarbeite ich Eingaben?] Tastatur [→ 2.4 Wie können Daten eingegeben werden?] umlenken [→ 9.7 Daten mit dem Betriebssystem austauschen]

Eingabestrom [→ 7.5 Wie verarbeite ich Eingaben?] [→ 12.3 Wie leiten Sie Datenströme?] Flaggen löschen [→ 7.5 Wie verarbeite ich Eingaben?] Einrückung [→ 1.4 So sieht das erste Programm aus] [→ 3.1 Zwei Zweige mit »if« und »else«] Element [→ 6.2 Einfache Felder mit fester Größe] elif [→ 15.3 Definitionen und Verzweigungen] Ellipse [→ 5.9 Beliebig viele Parameter] else [→ 3.1 Zwei Zweige mit »if« und »else«] Präprozessor [→ 15.3 Definitionen und Verzweigungen] empty() [→ 7.8 Übungen] [→ 13.1 Wie durchlaufe ich Container?] end() iterator [→ 13.1 Wie durchlaufe ich Container?] string [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] endif [→ 15.3 Definitionen und Verzweigungen] endl [→ 1.4 So sieht das erste Programm aus] enum [→ 2.10 Konstanten in Enumerationen zusammenfassen] Enumeration [→ 2.10 Konstanten in Enumerationen zusammenfassen] erase_after() [→ 13.5 Daten in Listen verketten] erase()

deque [→ 13.4 Eine Warteschlange mit zwei Enden] list [→ 13.5 Daten in Listen verketten] map [→ 13.9 Schlüssel und Werte in einer Map] set [→ 13.8 Eine Menge von Elementen] string [→ 7.3 Intelligente Zeichenketten: Strings] vector [→ 13.3 Intelligente Felder mit variabler Größe] Erfassungsliste [→ 5.12 Anonyme Funktionen] errorlevel [→ 9.7 Daten mit dem Betriebssystem austauschen] Eulersche Zahl [→ 9.4 Nützliche mathematische Funktionen] exception [→ 6.4 Ausnahmen behandeln] exception handling [→ 6.4 Ausnahmen behandeln] exists() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] exp() cmath [→ 9.4 Nützliche mathematische Funktionen] complex [→ 9.6 Rechnen mit komplexen Zahlen] Exponent [→ 2.8 Mehr über die Speicherung von Zahlen] [→ 9.4 Nützliche mathematische Funktionen] Exponentialfunktion [→ 9.4 Nützliche mathematische Funktionen] komplexe Zahl [→ 9.6 Rechnen mit komplexen Zahlen] eXtensible Markup Language [→ 16.1 Die erste GUIAnwendung] extension() [→ 9.8 Zugriff auf Dateien und Verzeichnisse]

F ⇑ F (float) [→ 2.8 Mehr über die Speicherung von Zahlen] fabs() [→ 9.4 Nützliche mathematische Funktionen] false [→ 3.9 Wie speichere ich Wahrheitswerte?] Fehler [→ 6.4 Ausnahmen behandeln] Feld [→ 6.1 Wie werden Felder unterschieden?] als Parameter [→ 6.8 Felder als Parameter] Datenbank [→ 17.1 Der Aufbau einer Datenbank] dynamisch [→ 6.5 Einfache und intelligente Zeiger] [→ 6.6 Intelligente Felder mit variabler Größe] [→ 13.3 Intelligente Felder mit variabler Größe] einfach [→ 6.2 Einfache Felder mit fester Größe] [→ 6.5 Einfache und intelligente Zeiger] einfügen Element [→ 13.3 Intelligente Felder mit variabler Größe] Element [→ 6.2 Einfache Felder mit fester Größe] füllen [→ 13.2 Intelligente Felder mit fester Größe] [→ 13.3 Intelligente Felder mit variabler Größe] Größe [→ 6.3 Intelligente Felder mit fester Größe] [→ 6.6 Intelligente Felder mit variabler Größe] Größe einstellen [→ 6.6 Intelligente Felder mit variabler Größe] Index [→ 6.2 Einfache Felder mit fester Größe] intelligent [→ 6.3 Intelligente Felder mit fester Größe] [→ 6.6 Intelligente Felder mit variabler Größe] [→ 13.2

Intelligente Felder mit fester Größe] [→ 13.3 Intelligente Felder mit variabler Größe] kopieren [→ 13.2 Intelligente Felder mit fester Größe] leeren [→ 13.3 Intelligente Felder mit variabler Größe] löschen am Ende [→ 13.3 Intelligente Felder mit variabler Größe] löschen Element [→ 13.3 Intelligente Felder mit variabler Größe] mehrdimensional [→ 6.9 Daten in mehreren Dimensionen speichern] mehrere Indizes [→ 6.9 Daten in mehreren Dimensionen speichern] prüfen, ob gleich [→ 13.2 Intelligente Felder mit fester Größe] prüfen, ob leer [→ 7.8 Übungen] Schleife [→ 6.2 Einfache Felder mit fester Größe] sortieren [→ 8.3 Strukturen und Felder] [→ 10.6 Objekte und Felder] statisch [→ 6.2 Einfache Felder mit fester Größe] [→ 6.3 Intelligente Felder mit fester Größe] [→ 13.2 Intelligente Felder mit fester Größe] tauschen [→ 13.2 Intelligente Felder mit fester Größe] Unterscheidung [→ 6.1 Wie werden Felder unterschieden?] vergrößern [→ 6.6 Intelligente Felder mit variabler Größe] verzweigt [→ 6.9 Daten in mehreren Dimensionen speichern] von Objekten [→ 10.6 Objekte und Felder]

von Strings [→ 7.6 Felder von Zeichenketten] von Strukturvariablen [→ 8.3 Strukturen und Felder] von Zeichen [→ 7.2 Einfache Zeichenketten] Zugriff Element [→ 6.2 Einfache Felder mit fester Größe] [→ 6.3 Intelligente Felder mit fester Größe] [→ 6.6 Intelligente Felder mit variabler Größe] FIFO [→ 13.6 Drei einfache Container] file_size() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] file_status [→ 9.8 Zugriff auf Dateien und Verzeichnisse] permissions() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] filename() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] filesystem [→ 9.8 Zugriff auf Dateien und Verzeichnisse] fill() [→ 13.2 Intelligente Felder mit fester Größe] find() algorithm [→ 13.10 Algorithmen für Bereiche] map [→ 13.9 Schlüssel und Werte in einer Map] set [→ 13.8 Eine Menge von Elementen] string [→ 7.3 Intelligente Zeichenketten: Strings] first [→ 13.7 Zwei nützliche Typen] fixed [→ 2.5 Zahlen formatieren mit Manipulatoren] Fließkommazahl [→ 2.1 Wie speichere ich Zahlen?] vergleichen [→ 3.2 Bedingungen benötigen Vergleiche] [→ 9.4 Nützliche mathematische Funktionen]

flip() [→ 13.12 Eine Menge von Bits] float [→ 2.8 Mehr über die Speicherung von Zahlen] floor() [→ 9.4 Nützliche mathematische Funktionen] fmod() [→ 9.4 Nützliche mathematische Funktionen] for [→ 4.1 Regelmäßige Wiederholungen mit »for«] Feld [→ 6.2 Einfache Felder mit fester Größe] for_each() [→ 13.10 Algorithmen für Bereiche] forward_list [→ 13.5 Daten in Listen verketten] Iterator [→ 13.5 Daten in Listen verketten] Freund Funktion [→ 14.2 Klassen können Freunde haben] Klasse [→ 14.2 Klassen können Freunde haben] friend [→ 10.7 Objekte ausgeben] [→ 14.2 Klassen können Freunde haben] from_time_t() [→ 9.1 Umgang mit Datum und Uhrzeit] front() deque [→ 13.4 Eine Warteschlange mit zwei Enden] queue [→ 13.6 Drei einfache Container] fstream [→ 12.1 Sequenzielles Schreiben und Lesen] [→ 12.1 Sequenzielles Schreiben und Lesen] Funktion [→ 5.1 So schreibe ich eine eigene Funktion] als Parameter [→ 5.13 Funktionen als Parameter] anonym [→ 5.12 Anonyme Funktionen]

befreundet [→ 14.2 Klassen können Freunde haben] benannt [→ 5.12 Anonyme Funktionen] Datentyp [→ 5.3 Wie erhalte ich ein Ergebnis zurück?] Definition [→ 5.1 So schreibe ich eine eigene Funktion] Deklaration [→ 5.4 Mehr Ordnung im Programm] mathematisch [→ 9.4 Nützliche mathematische Funktionen] Name [→ 5.1 So schreibe ich eine eigene Funktion] Parameter [→ 5.2 Wie übergebe ich Daten?] Referenz konstant [→ 5.2 Wie übergebe ich Daten?] Referenz veränderlich [→ 5.2 Wie übergebe ich Daten?] rekursiv [→ 5.11 Funktionen, die sich selbst aufrufen] [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Rückgabewert [→ 5.3 Wie erhalte ich ein Ergebnis zurück?] Standardwert [→ 5.8 Standardwerte vorgeben] überladen [→ 5.10 Funktionen mehrfach definieren] variadisch [→ 5.9 Beliebig viele Parameter] Funktionstemplate [→ 14.6 Templates sind Vorlagen] Funktionszeiger [→ 5.13 Funktionen als Parameter] Fußgesteuert [→ 4.3 Bedingte Wiederholungen mit »dowhile«]

G ⇑ Galtonbrett [→ 9.2 Bessere zufällige Zahlen] Ganzzahldivision [→ 2.2 Rechnen mit Operatoren]

GCC-Compiler [→ 1.3 Die Entwicklung von C++] gcd() [→ 9.4 Nützliche mathematische Funktionen] gedit [→ A.2 Installationen unter Ubuntu Linux] Genauigkeit [→ 2.8 Mehr über die Speicherung von Zahlen] [→ 2.8 Mehr über die Speicherung von Zahlen] get_time() [→ 9.1 Umgang mit Datum und Uhrzeit] get() pair [→ 13.7 Zwei nützliche Typen] tuple [→ 13.7 Zwei nützliche Typen] getline() Datei [→ 12.1 Sequenzielles Schreiben und Lesen] istringstream [→ 12.3 Wie leiten Sie Datenströme?] Tastatur [→ 7.5 Wie verarbeite ich Eingaben?] GGT [→ 9.4 Nützliche mathematische Funktionen] GL-Bibliothek [→ A.2 Installationen unter Ubuntu Linux] Gleich [→ 3.2 Bedingungen benötigen Vergleiche] Global [→ 8.1 Wie speichere ich zusammengehörige Daten?] Globaler Namensraum [→ 14.3 Namen müssen eindeutig sein] GMT [→ 9.1 Umgang mit Datum und Uhrzeit] Grafische Oberfläche [→ 16.1 Die erste GUI-Anwendung] Größer als [→ 3.2 Bedingungen benötigen Vergleiche] Größter gem. Teiler [→ 9.4 Nützliche mathematische Funktionen]

GUI [→ 16.1 Die erste GUI-Anwendung] Gültigkeit global [→ 8.1 Wie speichere ich zusammengehörige Daten?] lokal [→ 5.2 Wie übergebe ich Daten?]

H ⇑ Hallo Welt [→ 1.4 So sieht das erste Programm aus] GUI [→ 16.1 Die erste GUI-Anwendung] Haltepunkt [→ 2.3 Fehler suchen] hex [→ 2.11 Zahlensysteme] hexadezimal [→ 2.11 Zahlensysteme] Hoch [→ 9.4 Nützliche mathematische Funktionen] komplexe Zahl [→ 9.6 Rechnen mit komplexen Zahlen] Hochkomma doppelt [→ 7.2 Einfache Zeichenketten] einfach [→ 7.1 Einzelne Zeichen] hours() [→ 9.1 Umgang mit Datum und Uhrzeit]

I ⇑ IDE [→ 1.2 Was benötige ich zum Programmieren?] if [→ 3.1 Zwei Zweige mit »if« und »else«] Präprozessor [→ 15.3 Definitionen und Verzweigungen]

ifdef [→ 15.3 Definitionen und Verzweigungen] ifndef [→ 15.3 Definitionen und Verzweigungen] ifstream [→ 12.1 Sequenzielles Schreiben und Lesen] imag() [→ 9.6 Rechnen mit komplexen Zahlen] Imaginärteil [→ 9.6 Rechnen mit komplexen Zahlen] [→ 9.6 Rechnen mit komplexen Zahlen] include [→ 15.1 Einbinden von Dateien] includes() [→ 13.11 Mengenlehre] IND [→ 9.4 Nützliche mathematische Funktionen] Index [→ 6.2 Einfache Felder mit fester Größe] inf [→ 9.4 Nützliche mathematische Funktionen] Initialisierung einfache Zeichenkette [→ 7.2 Einfache Zeichenketten] Feld [→ 13.2 Intelligente Felder mit fester Größe] komplex [→ 9.6 Rechnen mit komplexen Zahlen] Map [→ 13.9 Schlüssel und Werte in einer Map] Objekt [→ 10.3 Wie erzeuge und lösche ich Objekte?] String [→ 7.3 Intelligente Zeichenketten: Strings] Strukturvariable [→ 8.2 Besser einen Typ definieren] Summe [→ 4.1 Regelmäßige Wiederholungen mit »for«] Variable [→ 2.2 Rechnen mit Operatoren] Zahl [→ 2.12 Initialisierung] [→ 6.7 Felder initialisieren] Inkonsistenz [→ 17.10 Eine Datenbank mit mehreren Tabellen]

Inkrement [→ 2.6 Zuweisungen kürzer schreiben] Innere Klasse [→ 14.5 Innere Klassen] insert_after() [→ 13.5 Daten in Listen verketten] insert() deque [→ 13.4 Eine Warteschlange mit zwei Enden] list [→ 13.5 Daten in Listen verketten] map [→ 13.9 Schlüssel und Werte in einer Map] set [→ 13.8 Eine Menge von Elementen] string [→ 7.3 Intelligente Zeichenketten: Strings] vector [→ 13.3 Intelligente Felder mit variabler Größe] inserter() [→ 13.11 Mengenlehre] Installationen macOS [→ A.3 Installationen unter macOS] Ubuntu Linux [→ A.2 Installationen unter Ubuntu Linux] Windows [→ A.1 Installationen unter Windows] Instanz [→ 10.1 Klassen umfassen Eigenschaften und Methoden] int [→ 2.1 Wie speichere ich Zahlen?] [→ 2.8 Mehr über die Speicherung von Zahlen] [→ 7.2 Einfache Zeichenketten] [→ 9.4 Nützliche mathematische Funktionen] INTEGER [→ 17.1 Der Aufbau einer Datenbank] Intelligente Zeichenkette [→ 7.3 Intelligente Zeichenketten: Strings]

Intelligenter Zeiger [→ 6.5 Einfache und intelligente Zeiger] [→ 6.5 Einfache und intelligente Zeiger] Intelligentes Feld [→ 6.3 Intelligente Felder mit fester Größe] [→ 6.6 Intelligente Felder mit variabler Größe] [→ 13.2 Intelligente Felder mit fester Größe] [→ 13.3 Intelligente Felder mit variabler Größe] iomanip [→ 2.5 Zahlen formatieren mit Manipulatoren] ios [→ 12.1 Sequenzielles Schreiben und Lesen] iostream [→ 1.4 So sieht das erste Programm aus] is_directory() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] is_regular_file() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] isfinite() [→ 9.4 Nützliche mathematische Funktionen] isinf() [→ 9.4 Nützliche mathematische Funktionen] isnan() [→ 9.4 Nützliche mathematische Funktionen] istringstream [→ 7.5 Wie verarbeite ich Eingaben?] [→ 12.3 Wie leiten Sie Datenströme?] Iterator [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] [→ 13.1 Wie durchlaufe ich Container?] array [→ 13.2 Intelligente Felder mit fester Größe] bewegen [→ 13.1 Wie durchlaufe ich Container?] deque [→ 13.4 Eine Warteschlange mit zwei Enden] forward_list [→ 13.5 Daten in Listen verketten] list [→ 13.5 Daten in Listen verketten] map [→ 13.9 Schlüssel und Werte in einer Map]

set [→ 13.8 Eine Menge von Elementen] string [→ 13.1 Wie durchlaufe ich Container?] vector [→ 13.3 Intelligente Felder mit variabler Größe] Verzeichnis [→ 9.8 Zugriff auf Dateien und Verzeichnisse]

J ⇑ jagged array [→ 6.9 Daten in mehreren Dimensionen speichern] Java Runtime Environment [→ A.1 Installationen unter Windows] Java-Laufzeitumgebung Ubuntu Linux [→ A.2 Installationen unter Ubuntu Linux] Windows [→ A.1 Installationen unter Windows] join() thread [→ 9.3 Mehrere Threads zur gleichen Zeit] JRE [→ A.1 Installationen unter Windows]

K ⇑ KGV [→ 9.4 Nützliche mathematische Funktionen] Klasse [→ 6.3 Intelligente Felder mit fester Größe] [→ 10.1 Klassen umfassen Eigenschaften und Methoden] ableiten [→ 11.1 Basisklasse und abgeleitete Klassen] befreundet [→ 14.2 Klassen können Freunde haben] Definition [→ 10.1 Klassen umfassen Eigenschaften und Methoden]

innere [→ 14.5 Innere Klassen] statisches Element [→ 10.4 Statische Elemente einer Klasse] Klassentemplate [→ 6.3 Intelligente Felder mit fester Größe] [→ 6.5 Einfache und intelligente Zeiger] [→ 13.1 Wie durchlaufe ich Container?] eigenes [→ 14.6 Templates sind Vorlagen] Kleiner als [→ 3.2 Bedingungen benötigen Vergleiche] Kombinierter Operator [→ 2.6 Zuweisungen kürzer schreiben] Kommando, Betriebssystem [→ 9.7 Daten mit dem Betriebssystem austauschen] Kommandozeile [→ B.2 Unix-Befehle] aufrufen [→ 9.7 Daten mit dem Betriebssystem austauschen] Parameter [→ 9.7 Daten mit dem Betriebssystem austauschen] Kommentar [→ 1.5 Kommentieren Sie Ihre Programme] Komplexe Zahl [→ 9.6 Rechnen mit komplexen Zahlen] aus Betrag und Winkel [→ 9.6 Rechnen mit komplexen Zahlen] Funktion [→ 9.6 Rechnen mit komplexen Zahlen] [→ 9.6 Rechnen mit komplexen Zahlen] konjugiert komplex [→ 9.6 Rechnen mit komplexen Zahlen] rechnen [→ 9.6 Rechnen mit komplexen Zahlen]

Komponente [→ 8.1 Wie speichere ich zusammengehörige Daten?] Konstante [→ 2.9 Feste Werte in Konstanten speichern] [→ 15.2 Definitionen und Makros] Existenz prüfen [→ 15.3 Definitionen und Verzweigungen] mehrere [→ 2.10 Konstanten in Enumerationen zusammenfassen] Konstante Referenz [→ 5.2 Wie übergebe ich Daten?] Konstruktor [→ 7.3 Intelligente Zeichenketten: Strings] [→ 10.3 Wie erzeuge und lösche ich Objekte?] Vererbung [→ 11.3 Konstruktoren in abgeleiteten Klassen] Kontrollstruktur [→ 3.1 Zwei Zweige mit »if« und »else«] Kopfgesteuert [→ 4.1 Regelmäßige Wiederholungen mit »for«] [→ 4.4 Besser vorher prüfen mit »while«] Kopfrechentrainer [→ 16.2 Ein einfacher Kopfrechentrainer] Kopierkonstruktor [→ 14.1 Objekte initialisieren, kopieren und erzeugen] Kosinus [→ 9.4 Nützliche mathematische Funktionen] Kritischer Abschnitt [→ 9.3 Mehrere Threads zur gleichen Zeit]

L ⇑ L (long double) [→ 2.8 Mehr über die Speicherung von Zahlen] L (long) [→ 2.8 Mehr über die Speicherung von Zahlen] Lambda [→ 5.12 Anonyme Funktionen]

Laufzeitfehler [→ 6.4 Ausnahmen behandeln] lcm() [→ 9.4 Nützliche mathematische Funktionen] left [→ 2.5 Zahlen formatieren mit Manipulatoren] length() [→ 7.3 Intelligente Zeichenketten: Strings] Lesbarkeit [→ 1.4 So sieht das erste Programm aus] [→ 2.6 Zuweisungen kürzer schreiben] [→ 3.1 Zwei Zweige mit »if« und »else«] lGL [→ A.2 Installationen unter Ubuntu Linux] LibreOffice Calc [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] LIFO [→ 13.6 Drei einfache Container] list [→ 13.5 Daten in Listen verketten] Iterator [→ 13.5 Daten in Listen verketten] Liste anfügen Element [→ 13.5 Daten in Listen verketten] [→ 13.5 Daten in Listen verketten] doppelt verkettet [→ 13.5 Daten in Listen verketten] einfach verkettet [→ 13.5 Daten in Listen verketten] einfügen Element [→ 13.5 Daten in Listen verketten] [→ 13.5 Daten in Listen verketten] einspleißen [→ 13.5 Daten in Listen verketten] [→ 13.5 Daten in Listen verketten] einzigartig [→ 13.5 Daten in Listen verketten] leeren [→ 13.5 Daten in Listen verketten]

löschen Element [→ 13.5 Daten in Listen verketten] [→ 13.5 Daten in Listen verketten] [→ 13.5 Daten in Listen verketten] [→ 13.5 Daten in Listen verketten] [→ 13.5 Daten in Listen verketten] sortieren [→ 13.5 Daten in Listen verketten] umdrehen [→ 13.5 Daten in Listen verketten] vereinigen [→ 13.5 Daten in Listen verketten] verkettet [→ 13.5 Daten in Listen verketten] von Werten [→ 4.2 Wiederholungen für einen Bereich] [→ 13.2 Intelligente Felder mit fester Größe] von Wertepaaren [→ 13.9 Schlüssel und Werte in einer Map] Literal [→ 2.11 Zahlensysteme] Fließkommazahl [→ 2.8 Mehr über die Speicherung von Zahlen] ganze Zahl [→ 2.8 Mehr über die Speicherung von Zahlen] komplex [→ 9.6 Rechnen mit komplexen Zahlen] nullptr [→ 6.5 Einfache und intelligente Zeiger] LL (long long) [→ 2.8 Mehr über die Speicherung von Zahlen] ln [→ A.2 Installationen unter Ubuntu Linux] localtime() [→ 9.1 Umgang mit Datum und Uhrzeit] locate [→ A.2 Installationen unter Ubuntu Linux] lock() [→ 9.3 Mehrere Threads zur gleichen Zeit] log() cmath [→ 9.4 Nützliche mathematische Funktionen]

complex [→ 9.6 Rechnen mit komplexen Zahlen] log10() [→ 9.4 Nützliche mathematische Funktionen] Logarithmus [→ 9.4 Nützliche mathematische Funktionen] komplexe Zahl [→ 9.6 Rechnen mit komplexen Zahlen] Logische Verknüpfung [→ 3.4 Wie kann ich Bedingungen kombinieren?] SQL [→ 17.5 Wie wähle ich bestimmte Daten aus?] Lokal [→ 5.2 Wie übergebe ich Daten?] long [→ 2.8 Mehr über die Speicherung von Zahlen] long double [→ 2.8 Mehr über die Speicherung von Zahlen] long long [→ 2.8 Mehr über die Speicherung von Zahlen] lower_bound() [→ 13.8 Eine Menge von Elementen] lpthread [→ 9.3 Mehrere Threads zur gleichen Zeit] ls -al [→ B.2 Unix-Befehle] ls -l [→ B.2 Unix-Befehle]

M ⇑ macOS-Installationen [→ A.3 Installationen unter macOS] main() [→ 1.4 So sieht das erste Programm aus] [→ 5.1 So schreibe ich eine eigene Funktion] Rückgabewert [→ 9.7 Daten mit dem Betriebssystem austauschen] make_pair() [→ 13.7 Zwei nützliche Typen]

make_tuple() [→ 13.7 Zwei nützliche Typen] make_unique() [→ 6.5 Einfache und intelligente Zeiger] Makro [→ 5.9 Beliebig viele Parameter] [→ 15.2 Definitionen und Makros] vordefiniert [→ 15.2 Definitionen und Makros] Manipulator [→ 1.4 So sieht das erste Programm aus] [→ 2.5 Zahlen formatieren mit Manipulatoren] [→ 2.11 Zahlensysteme] Map [→ 13.9 Schlüssel und Werte in einer Map] map [→ 13.9 Schlüssel und Werte in einer Map] Anzahl pro Schlüssel [→ 13.9 Schlüssel und Werte in einer Map] finden Schlüssel [→ 13.9 Schlüssel und Werte in einer Map] hinzufügen [→ 13.9 Schlüssel und Werte in einer Map] Iterator [→ 13.9 Schlüssel und Werte in einer Map] löschen Element [→ 13.9 Schlüssel und Werte in einer Map] Mathematische Funktion [→ 9.4 Nützliche mathematische Funktionen] max() [→ 9.2 Bessere zufällige Zahlen] Mehrdimensionales Feld [→ 6.9 Daten in mehreren Dimensionen speichern] Mehrfachvererbung [→ 11.5 Erben von mehreren Klassen] member [→ 10.1 Klassen umfassen Eigenschaften und Methoden]

memory [→ 6.5 Einfache und intelligente Zeiger] Menge [→ 13.8 Eine Menge von Elementen] Mengenlehre [→ 13.11 Mengenlehre] merge() algorithm [→ 13.11 Mengenlehre] forward_list [→ 13.5 Daten in Listen verketten] list [→ 13.5 Daten in Listen verketten] map [→ 13.9 Schlüssel und Werte in einer Map] set [→ 13.8 Eine Menge von Elementen] [→ 13.8 Eine Menge von Elementen] [→ 13.9 Schlüssel und Werte in einer Map] Mersenne-Twister [→ 9.2 Bessere zufällige Zahlen] [→ 9.2 Bessere zufällige Zahlen] Methode [→ 6.3 Intelligente Felder mit fester Größe] [→ 10.1 Klassen umfassen Eigenschaften und Methoden] befreundet [→ 10.7 Objekte ausgeben] statisch [→ 10.4 Statische Elemente einer Klasse] verketten [→ 10.5 Wie überlade ich Operatoren?] virtuell [→ 11.4 Was bedeutet Polymorphie?] milliseconds() [→ 9.1 Umgang mit Datum und Uhrzeit] MinGW [→ 1.3 Die Entwicklung von C++] [→ A.1 Installationen unter Windows] minutes() [→ 9.1 Umgang mit Datum und Uhrzeit] mkdir [→ B.2 Unix-Befehle]

mktime() [→ 9.1 Umgang mit Datum und Uhrzeit] Modulo [→ 2.13 Wie erzeuge ich zufällige Zahlen?] [→ 3.6 Was ist mit dem Rest?] MS Access [→ 17.10 Eine Datenbank mit mehreren Tabellen] MS Excel [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] mt19937 [→ 9.2 Bessere zufällige Zahlen] multimap [→ 13.9 Schlüssel und Werte in einer Map] Multiplikation [→ 2.2 Rechnen mit Operatoren] multiset [→ 13.8 Eine Menge von Elementen] Multithreading [→ 9.3 Mehrere Threads zur gleichen Zeit] Mutex [→ 9.3 Mehrere Threads zur gleichen Zeit] mutex [→ 9.3 Mehrere Threads zur gleichen Zeit] lock() [→ 9.3 Mehrere Threads zur gleichen Zeit] unlock() [→ 9.3 Mehrere Threads zur gleichen Zeit] mutual exclusion [→ 9.3 Mehrere Threads zur gleichen Zeit] mv [→ B.2 Unix-Befehle]

N ⇑ Namensraum [→ 1.4 So sieht das erste Programm aus] [→ 14.3 Namen müssen eindeutig sein] Namensregel [→ 2.1 Wie speichere ich Zahlen?]

namespace [→ 1.4 So sieht das erste Programm aus] [→ 14.3 Namen müssen eindeutig sein] nan [→ 9.4 Nützliche mathematische Funktionen] new [→ 6.5 Einfache und intelligente Zeiger] next() [→ 13.1 Wie durchlaufe ich Container?] Nicht, logisches [→ 3.4 Wie kann ich Bedingungen kombinieren?] SQL [→ 17.5 Wie wähle ich bestimmte Daten aus?] none() [→ 13.12 Eine Menge von Bits] now() time_point [→ 9.1 Umgang mit Datum und Uhrzeit] npos [→ 7.3 Intelligente Zeichenketten: Strings] nullptr [→ 6.5 Einfache und intelligente Zeiger] numeric [→ 9.4 Nützliche mathematische Funktionen]

O ⇑ Objekt [→ 6.3 Intelligente Felder mit fester Größe] [→ 6.3 Intelligente Felder mit fester Größe] [→ 10.1 Klassen umfassen Eigenschaften und Methoden] aktuelles [→ 10.3 Wie erzeuge und lösche ich Objekte?] ausgeben [→ 10.7 Objekte ausgeben] erzeugen [→ 10.3 Wie erzeuge und lösche ich Objekte?] Existenz endet [→ 10.3 Wie erzeuge und lösche ich Objekte?]

Feld von [→ 10.6 Objekte und Felder] in Objekt [→ 10.8 Eigenschaften können Objekte sein] kopieren [→ 14.1 Objekte initialisieren, kopieren und erzeugen] temporär [→ 10.6 Objekte und Felder] zuweisen [→ 14.1 Objekte initialisieren, kopieren und erzeugen] Objektorientierung [→ 6.3 Intelligente Felder mit fester Größe] [→ 10.1 Klassen umfassen Eigenschaften und Methoden] oct [→ 2.11 Zahlensysteme] Oder, logisches [→ 3.4 Wie kann ich Bedingungen kombinieren?] SQL [→ 17.5 Wie wähle ich bestimmte Daten aus?] ofstream [→ 12.1 Sequenzielles Schreiben und Lesen] oktal [→ 2.11 Zahlensysteme] open() ifstream [→ 12.1 Sequenzielles Schreiben und Lesen] ofstream [→ 12.1 Sequenzielles Schreiben und Lesen] operator [→ 10.5 Wie überlade ich Operatoren?] Operator kombiniert [→ 2.6 Zuweisungen kürzer schreiben] logisch [→ 3.4 Wie kann ich Bedingungen kombinieren?] Rangfolge [→ 3.7 Welcher Operator hat Vorrang?] überladen [→ 10.5 Wie überlade ich Operatoren?]

Operatormethode [→ 10.5 Wie überlade ich Operatoren?] Orwell Dev-C++ [→ A.1 Installationen unter Windows] ostream [→ 10.7 Objekte ausgeben] ostringstream [→ 7.4 Wie wandle ich Zahlen in Strings um?] [→ 12.3 Wie leiten Sie Datenströme?]

P ⇑ Paar [→ 13.7 Zwei nützliche Typen] pair [→ 13.7 Zwei nützliche Typen] map [→ 13.9 Schlüssel und Werte in einer Map] Parallele Programmteile [→ 9.3 Mehrere Threads zur gleichen Zeit] Parameter [→ 5.2 Wie übergebe ich Daten?] anonyme Funktion [→ 5.12 Anonyme Funktionen] ist Feld [→ 6.8 Felder als Parameter] ist Funktion [→ 5.13 Funktionen als Parameter] Kopie [→ 5.2 Wie übergebe ich Daten?] Referenz konstant [→ 5.2 Wie übergebe ich Daten?] Referenz veränderlich [→ 5.2 Wie übergebe ich Daten?] Regeln [→ 5.2 Wie übergebe ich Daten?] Standardwert [→ 5.8 Standardwerte vorgeben] Struktur [→ 8.4 Strukturen und Funktionen] parent_path() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] path [→ 9.8 Zugriff auf Dateien und Verzeichnisse]

append() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] concat() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] extension() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] filename() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] parent_path() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] stem() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] perm_options [→ 9.8 Zugriff auf Dateien und Verzeichnisse] permissions() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] file_status [→ 9.8 Zugriff auf Dateien und Verzeichnisse] perms [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Pfad [→ 9.8 Zugriff auf Dateien und Verzeichnisse] ändern [→ A.1 Installationen unter Windows] verlängern [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Pfadangabe [→ 12.1 Sequenzielles Schreiben und Lesen] Pi [→ 9.4 Nützliche mathematische Funktionen] pointer [→ 6.5 Einfache und intelligente Zeiger] polar() [→ 9.6 Rechnen mit komplexen Zahlen] Polymorphie [→ 11.4 Was bedeutet Polymorphie?] pop_back() deque [→ 13.4 Eine Warteschlange mit zwei Enden] list [→ 13.5 Daten in Listen verketten] string [→ 7.3 Intelligente Zeichenketten: Strings]

vector [→ 13.3 Intelligente Felder mit variabler Größe] pop_front() deque [→ 13.4 Eine Warteschlange mit zwei Enden] forward_list [→ 13.5 Daten in Listen verketten] list [→ 13.5 Daten in Listen verketten] pop() priority_queue [→ 13.6 Drei einfache Container] queue [→ 13.6 Drei einfache Container] stack [→ 13.6 Drei einfache Container] pow() cmath [→ 9.4 Nützliche mathematische Funktionen] complex [→ 9.6 Rechnen mit komplexen Zahlen] Präprozessor [→ 15.1 Einbinden von Dateien] prev() [→ 13.1 Wie durchlaufe ich Container?] PRIMARY KEY [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] priority_queue [→ 13.6 Drei einfache Container] private [→ 10.1 Klassen umfassen Eigenschaften und Methoden] Programm Reihenfolge [→ 5.4 Mehr Ordnung im Programm] Schritt für Schritt [→ 2.3 Fehler suchen] unterbrechen [→ 9.3 Mehrere Threads zur gleichen Zeit] zerlegen [→ 5.1 So schreibe ich eine eigene Funktion]

Programm parallel [→ 9.3 Mehrere Threads zur gleichen Zeit] protected [→ 11.2 Welche Elemente sind an welcher Stelle erreichbar?] public [→ 10.1 Klassen umfassen Eigenschaften und Methoden] Punkt-Operator [→ 6.3 Intelligente Felder mit fester Größe] [→ 8.1 Wie speichere ich zusammengehörige Daten?] push_back() deque [→ 13.4 Eine Warteschlange mit zwei Enden] list [→ 13.5 Daten in Listen verketten] string [→ 7.3 Intelligente Zeichenketten: Strings] vector [→ 6.6 Intelligente Felder mit variabler Größe] [→ 13.3 Intelligente Felder mit variabler Größe] push_front() deque [→ 13.4 Eine Warteschlange mit zwei Enden] forward_list [→ 13.5 Daten in Listen verketten] list [→ 13.5 Daten in Listen verketten] push() priority_queue [→ 13.6 Drei einfache Container] queue [→ 13.6 Drei einfache Container] stack [→ 13.6 Drei einfache Container] put_time() [→ 9.1 Umgang mit Datum und Uhrzeit]

Q ⇑ Qt

addBindValue() [→ 17.6 Der Benutzer wählt Daten aus] addDatabase() [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] addItem() [→ 16.3 Ein erweiterter Kopfrechentrainer] [→ 17.11 Projekt Vokabeln] Anwendung schließen [→ 16.1 Die erste GUI-Anwendung] append() [→ 17.11 Projekt Vokabeln] arg() [→ 16.2 Ein einfacher Kopfrechentrainer] at() [→ 17.12 Übung] Ausgabefeld [→ 16.1 Die erste GUI-Anwendung] [→ 16.1 Die erste GUI-Anwendung] Benutzeroberfläche [→ 16.1 Die erste GUI-Anwendung] [→ 16.1 Die erste GUI-Anwendung] Bibliothek [→ 16.1 Die erste GUI-Anwendung] Buttons [→ 16.1 Die erste GUI-Anwendung] Calendar [→ 16.4 Weitere Widgets] Check Box [→ 16.3 Ein erweiterter Kopfrechentrainer] Check Box markieren [→ 16.3 Ein erweiterter Kopfrechentrainer] Check Box prüfen [→ 16.3 Ein erweiterter Kopfrechentrainer] clear() [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] [→ 17.4 So zeige ich alle Daten einer Tabelle an] [→ 17.11 Projekt Vokabeln] clicked() [→ 16.1 Die erste GUI-Anwendung] close() [→ 16.1 Die erste GUI-Anwendung] [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?]

Combo Box [→ 17.11 Projekt Vokabeln] Combo-Box-Auswahl [→ 17.11 Projekt Vokabeln] [→ 17.11 Projekt Vokabeln] connect() [→ 16.1 Die erste GUI-Anwendung] [→ 16.1 Die erste GUI-Anwendung] count() [→ 17.11 Projekt Vokabeln] currentIndexChanged [→ 17.11 Projekt Vokabeln] currentItem() [→ 17.12 Übung] currentRow() [→ 16.3 Ein erweiterter Kopfrechentrainer] databaseText() [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] Date Edit Widget [→ 17.12 Übung] date() [→ 17.12 Übung] Date/Time Edit [→ 16.4 Weitere Widgets] Datenbank [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] Datenbankfehler [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] Datenbanktreiber [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] Datenbankverbindung [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] dateTime() [→ 16.4 Weitere Widgets] DateTimeChanged [→ 16.4 Weitere Widgets] Design-Ansicht [→ 16.1 Die erste GUI-Anwendung] Dial [→ 16.4 Weitere Widgets] Display Widgets [→ 16.1 Die erste GUI-Anwendung]

display() [→ 16.4 Weitere Widgets] Eingabe Datum [→ 16.4 Weitere Widgets] Eingabe Zahl [→ 16.4 Weitere Widgets] Eingabe Zeitwert [→ 16.4 Weitere Widgets] Eingabefeld [→ 16.2 Ein einfacher Kopfrechentrainer] Ereignis [→ 16.1 Die erste GUI-Anwendung] [→ 16.1 Die erste GUI-Anwendung] exec() [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] [→ 17.11 Projekt Vokabeln] Feld [→ 17.11 Projekt Vokabeln] Fokus setzen [→ 16.2 Ein einfacher Kopfrechentrainer] Fortschrittsbalken [→ 16.4 Weitere Widgets] fromString() [→ 17.12 Übung] GUI, Größe ändern [→ 17.11 Projekt Vokabeln] GUI-Projekt anlegen [→ 16.1 Die erste GUI-Anwendung] Horizontal Slider [→ 16.4 Weitere Widgets] Input Widgets [→ 16.2 Ein einfacher Kopfrechentrainer] isChecked() [→ 16.3 Ein erweiterter Kopfrechentrainer] [→ 16.3 Ein erweiterter Kopfrechentrainer] isValid() [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] Item Widgets [→ 16.3 Ein erweiterter Kopfrechentrainer] itemSelectionChanged [→ 17.11 Projekt Vokabeln] Kit [→ A.1 Installationen unter Windows] Label [→ 16.1 Die erste GUI-Anwendung] lastError() [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?]

LCD Number [→ 16.4 Weitere Widgets] Line Edit [→ 16.2 Ein einfacher Kopfrechentrainer] List Widget [→ 16.3 Ein erweiterter Kopfrechentrainer] List Widget füllen [→ 16.3 Ein erweiterter Kopfrechentrainer] List Widget leeren [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] List Widget prüfen [→ 16.3 Ein erweiterter Kopfrechentrainer] Listenfeld [→ 16.3 Ein erweiterter Kopfrechentrainer] List-Widget-Auswahl [→ 16.3 Ein erweiterter Kopfrechentrainer] [→ 17.11 Projekt Vokabeln] macOS [→ A.3 Installationen unter macOS] MainWindow [→ 16.1 Die erste GUI-Anwendung] maximum() [→ 16.4 Weitere Widgets] minimum() [→ 16.4 Weitere Widgets] Nachrichtenbox [→ 17.11 Projekt Vokabeln] [→ 17.11 Projekt Vokabeln] [→ 17.11 Projekt Vokabeln] next() [→ 17.4 So zeige ich alle Daten einer Tabelle an] numRowsAffected() [→ 17.8 Wie ändere ich Daten?] nutzen [→ A.1 Installationen unter Windows] open() [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] prepare() [→ 17.6 Der Benutzer wählt Daten aus] private slots [→ 16.1 Die erste GUI-Anwendung] ProgressBar [→ 16.4 Weitere Widgets]

Projekt kopieren [→ 16.3 Ein erweiterter Kopfrechentrainer] Projektdatei [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] Push Button [→ 16.1 Die erste GUI-Anwendung] QDate [→ 16.4 Weitere Widgets] [→ 17.12 Übung] QDateTime [→ 16.4 Weitere Widgets] QLabel [→ 16.1 Die erste GUI-Anwendung] QListWidgetItem [→ 17.12 Übung] QMainWindow [→ 16.1 Die erste GUI-Anwendung] qmake [→ A.1 Installationen unter Windows] QMessageBox [→ 17.11 Projekt Vokabeln] QPushButton [→ 16.1 Die erste GUI-Anwendung] QSqlDatabase [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] QSqlError [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] QSQLITE [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] QSqlQuery [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] QString [→ 16.2 Ein einfacher Kopfrechentrainer] QStringList [→ 17.12 Übung] QTime [→ 16.4 Weitere Widgets] QtSql [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] QVariant [→ 17.4 So zeige ich alle Daten einer Tabelle an] QVector [→ 17.11 Projekt Vokabeln]

QVector hinzufügen [→ 17.11 Projekt Vokabeln] QVector leeren [→ 17.11 Projekt Vokabeln] QVector löschen [→ 17.11 Projekt Vokabeln] QVector prüfen [→ 17.11 Projekt Vokabeln] Radio Button [→ 16.3 Ein erweiterter Kopfrechentrainer] Radio Button markieren [→ 16.3 Ein erweiterter Kopfrechentrainer] Radio Button prüfen [→ 16.3 Ein erweiterter Kopfrechentrainer] remove() [→ 17.11 Projekt Vokabeln] resize() [→ 17.11 Projekt Vokabeln] Schaltfläche [→ 16.1 Die erste GUI-Anwendung] Schaltfläche drücken [→ 16.1 Die erste GUI-Anwendung] Schieberegler [→ 16.4 Weitere Widgets] selectedDate() [→ 16.4 Weitere Widgets] setButtonText() [→ 17.11 Projekt Vokabeln] setChecked() [→ 16.3 Ein erweiterter Kopfrechentrainer] setCurrentIndex() [→ 17.11 Projekt Vokabeln] setCurrentRow() [→ 16.3 Ein erweiterter Kopfrechentrainer] setDatabaseName() [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] setDate() [→ 17.12 Übung] setDateTime() [→ 16.4 Weitere Widgets] setDefaultButton() [→ 17.11 Projekt Vokabeln] setDisplayFormat() [→ 16.4 Weitere Widgets]

setEnabled() [→ 17.11 Projekt Vokabeln] setFocus() [→ 16.2 Ein einfacher Kopfrechentrainer] setMaximum() [→ 16.4 Weitere Widgets] setMaximumDate() [→ 16.4 Weitere Widgets] setMinimum() [→ 16.4 Weitere Widgets] setMinimumDate() [→ 16.4 Weitere Widgets] setSelectedDate() [→ 16.4 Weitere Widgets] setStandardButtons() [→ 17.11 Projekt Vokabeln] setText() [→ 16.1 Die erste GUI-Anwendung] setValue() [→ 16.4 Weitere Widgets] setWindowTitle() [→ 17.11 Projekt Vokabeln] Signal [→ 16.1 Die erste GUI-Anwendung] [→ 16.1 Die erste GUI-Anwendung] Slot [→ 16.1 Die erste GUI-Anwendung] [→ 16.1 Die erste GUI-Anwendung] split() [→ 17.12 Übung] SQL-Befehl senden [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] StandardButton [→ 17.11 Projekt Vokabeln] text() [→ 16.2 Ein einfacher Kopfrechentrainer] [→ 17.12 Übung] Titel ändern [→ 17.11 Projekt Vokabeln] toDouble() [→ 16.2 Ein einfacher Kopfrechentrainer] toInt() [→ 16.2 Ein einfacher Kopfrechentrainer] toString() [→ 16.4 Weitere Widgets] [→ 17.4 So zeige ich alle Daten einer Tabelle an] [→ 17.12 Übung]

trimmed() [→ 17.12 Übung] Ubuntu Linux [→ A.2 Installationen unter Ubuntu Linux] ui [→ 16.1 Die erste GUI-Anwendung] Umwandlung in Zahl [→ 16.2 Ein einfacher Kopfrechentrainer] value() [→ 16.4 Weitere Widgets] [→ 17.4 So zeige ich alle Daten einer Tabelle an] ValueChanged [→ 16.4 Weitere Widgets] Verbindung Signal/Slot [→ 16.1 Die erste GUI-Anwendung] [→ 16.1 Die erste GUI-Anwendung] Wert ändern [→ 16.4 Weitere Widgets] Widget [→ 16.1 Die erste GUI-Anwendung] Widget aktivieren [→ 17.11 Projekt Vokabeln] Widget ändern [→ 16.1 Die erste GUI-Anwendung] Widget einfügen [→ 16.1 Die erste GUI-Anwendung] Widget kopieren [→ 16.1 Die erste GUI-Anwendung] Widget leeren [→ 17.4 So zeige ich alle Daten einer Tabelle an] Widget löschen [→ 16.1 Die erste GUI-Anwendung] Widget-Objekte [→ 16.1 Die erste GUI-Anwendung] Windows [→ A.1 Installationen unter Windows] XML-Code [→ 16.1 Die erste GUI-Anwendung] Zeichenkette [→ 16.2 Ein einfacher Kopfrechentrainer] Zeitangabe ändern [→ 16.4 Weitere Widgets] Qt Creator [→ 16.1 Die erste GUI-Anwendung] queue [→ 13.6 Drei einfache Container]

R ⇑ Radiant [→ 9.4 Nützliche mathematische Funktionen] RAND_MAX [→ 2.13 Wie erzeuge ich zufällige Zahlen?] rand() [→ 2.13 Wie erzeuge ich zufällige Zahlen?] [→ 2.13 Wie erzeuge ich zufällige Zahlen?] random [→ 2.13 Wie erzeuge ich zufällige Zahlen?] [→ 9.2 Bessere zufällige Zahlen] range-based for-loop [→ 4.2 Wiederholungen für einen Bereich] Rangfolge [→ 3.7 Welcher Operator hat Vorrang?] REAL [→ 17.1 Der Aufbau einer Datenbank] real() [→ 9.6 Rechnen mit komplexen Zahlen] Realteil [→ 9.6 Rechnen mit komplexen Zahlen] [→ 9.6 Rechnen mit komplexen Zahlen] Rechte (Unix) [→ B.2 Unix-Befehle] Redundanz [→ 17.10 Eine Datenbank mit mehreren Tabellen] ref() [→ 9.3 Mehrere Threads zur gleichen Zeit] Referenz [→ 5.2 Wie übergebe ich Daten?] [→ 9.3 Mehrere Threads zur gleichen Zeit] als Parameter [→ 5.2 Wie übergebe ich Daten?] auf Feld [→ 6.8 Felder als Parameter] bereichsbasierte Schleife [→ 6.2 Einfache Felder mit fester Größe]

regex [→ 7.7 Suchen und Ersetzen] regex_match() [→ 7.7 Suchen und Ersetzen] regex_replace() [→ 7.7 Suchen und Ersetzen] regex_search() [→ 7.7 Suchen und Ersetzen] Reguläre Ausdrücke [→ 7.7 Suchen und Ersetzen] Rekursion [→ 5.11 Funktionen, die sich selbst aufrufen] Relativer Pfad [→ 12.1 Sequenzielles Schreiben und Lesen] remove_all() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] remove() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] [→ 9.8 Zugriff auf Dateien und Verzeichnisse] forward_list [→ 13.5 Daten in Listen verketten] list [→ 13.5 Daten in Listen verketten] rename() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] [→ 9.8 Zugriff auf Dateien und Verzeichnisse] replace() algorithm [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] [→ 13.10 Algorithmen für Bereiche] string [→ 7.3 Intelligente Zeichenketten: Strings] reset() [→ 13.12 Eine Menge von Bits] resize() [→ 6.6 Intelligente Felder mit variabler Größe] [→ 13.3 Intelligente Felder mit variabler Größe] Rest [→ 2.13 Wie erzeuge ich zufällige Zahlen?] [→ 3.6 Was ist mit dem Rest?] [→ 9.4 Nützliche mathematische Funktionen] return [→ 5.3 Wie erhalte ich ein Ergebnis zurück?]

reverse() forward_list [→ 13.5 Daten in Listen verketten] list [→ 13.5 Daten in Listen verketten] right [→ 2.5 Zahlen formatieren mit Manipulatoren] rm [→ B.2 Unix-Befehle] rmdir [→ B.2 Unix-Befehle] rotate() [→ 13.10 Algorithmen für Bereiche] round() [→ 9.4 Nützliche mathematische Funktionen] Rückgabewert [→ 5.3 Wie erhalte ich ein Ergebnis zurück?] anonyme Funktion [→ 5.12 Anonyme Funktionen] Rundung [→ 9.4 Nützliche mathematische Funktionen] rwx [→ B.2 Unix-Befehle]

S ⇑ Schablone [→ 14.6 Templates sind Vorlagen] Schleife [→ 4.1 Regelmäßige Wiederholungen mit »for«] abbrechen [→ 4.5 Wiederholungen abbrechen oder fortsetzen] do-while [→ 4.3 Bedingte Wiederholungen mit »dowhile«] for [→ 4.1 Regelmäßige Wiederholungen mit »for«] for_each() [→ 13.10 Algorithmen für Bereiche] fortsetzen [→ 4.5 Wiederholungen abbrechen oder fortsetzen]

für Bereich [→ 4.2 Wiederholungen für einen Bereich] geschachtelt [→ 4.6 Die Wiederholung der Wiederholung] sinnvoll [→ 4.1 Regelmäßige Wiederholungen mit »for«] Variable [→ 4.1 Regelmäßige Wiederholungen mit »for«] while [→ 4.4 Besser vorher prüfen mit »while«] Schlüssel-Wert-Paar [→ 13.9 Schlüssel und Werte in einer Map] Schnittmenge [→ 13.11 Mengenlehre] scientific [→ 2.5 Zahlen formatieren mit Manipulatoren] [→ 9.4 Nützliche mathematische Funktionen] Scope-Operator [→ 7.3 Intelligente Zeichenketten: Strings] [→ 10.1 Klassen umfassen Eigenschaften und Methoden] [→ 14.3 Namen müssen eindeutig sein] second [→ 13.7 Zwei nützliche Typen] seconds() [→ 9.1 Umgang mit Datum und Uhrzeit] seed() [→ 9.2 Bessere zufällige Zahlen] seekg() [→ 12.2 Schreiben und Lesen an beliebiger Stelle] seekp() Ausgabestrom [→ 12.3 Wie leiten Sie Datenströme?] Datei [→ 12.2 Schreiben und Lesen an beliebiger Stelle] set [→ 13.8 Eine Menge von Elementen] Anzahl pro Wert [→ 13.8 Eine Menge von Elementen] finden Wert [→ 13.8 Eine Menge von Elementen] hinzufügen Wert [→ 13.8 Eine Menge von Elementen] Iterator [→ 13.8 Eine Menge von Elementen]

leeren [→ 13.8 Eine Menge von Elementen] löschen Element [→ 13.8 Eine Menge von Elementen] set_difference() [→ 13.11 Mengenlehre] set_intersection() [→ 13.11 Mengenlehre] set_symmetric_difference() [→ 13.11 Mengenlehre] set_union() [→ 13.11 Mengenlehre] set() [→ 13.12 Eine Menge von Bits] setfill() [→ 2.5 Zahlen formatieren mit Manipulatoren] setprecision() [→ 2.5 Zahlen formatieren mit Manipulatoren] setw() [→ 2.5 Zahlen formatieren mit Manipulatoren] shared pointer [→ 6.5 Einfache und intelligente Zeiger] short [→ 2.8 Mehr über die Speicherung von Zahlen] shuffle() [→ 13.10 Algorithmen für Bereiche] signed [→ 2.8 Mehr über die Speicherung von Zahlen] sin() [→ 9.4 Nützliche mathematische Funktionen] Sinus [→ 9.4 Nützliche mathematische Funktionen] size_type [→ 7.3 Intelligente Zeichenketten: Strings] size() [→ 13.1 Wie durchlaufe ich Container?] array [→ 6.3 Intelligente Felder mit fester Größe] [→ 13.2 Intelligente Felder mit fester Größe] bitset [→ 13.12 Eine Menge von Bits] Map [→ 13.9 Schlüssel und Werte in einer Map]

vector [→ 6.6 Intelligente Felder mit variabler Größe] [→ 13.3 Intelligente Felder mit variabler Größe] sizeof [→ 2.8 Mehr über die Speicherung von Zahlen] sleep_for() [→ 9.3 Mehrere Threads zur gleichen Zeit] smart pointer [→ 6.5 Einfache und intelligente Zeiger] sort() algorithm [→ 13.10 Algorithmen für Bereiche] forward_list [→ 13.5 Daten in Listen verketten] list [→ 13.5 Daten in Listen verketten] sortieren [→ 8.3 Strukturen und Felder] [→ 10.6 Objekte und Felder] Speicherbedarf [→ 2.8 Mehr über die Speicherung von Zahlen] splice_after() [→ 13.5 Daten in Listen verketten] splice() [→ 13.5 Daten in Listen verketten] SQL [→ 17.1 Der Aufbau einer Datenbank] AND [→ 17.5 Wie wähle ich bestimmte Daten aus?] ASC [→ 17.7 Daten sollten sortiert werden] COUNT() [→ 17.10 Eine Datenbank mit mehreren Tabellen] CREATE TABLE [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] Datensätze ändern [→ 17.8 Wie ändere ich Daten?] Datensätze auswählen [→ 17.4 So zeige ich alle Daten einer Tabelle an] Datensätze betroffen [→ 17.8 Wie ändere ich Daten?]

Datensätze einfügen [→ 17.3 Wie speichere ich Daten in einer Tabelle?] Datensätze filtern [→ 17.5 Wie wähle ich bestimmte Daten aus?] Datensätze gruppieren [→ 17.10 Eine Datenbank mit mehreren Tabellen] Datensätze löschen [→ 17.9 Vorsicht beim Löschen von Daten] Datensätze sortieren [→ 17.7 Daten sollten sortiert werden] Datensätze summieren [→ 17.10 Eine Datenbank mit mehreren Tabellen] Datensätze zählen [→ 17.10 Eine Datenbank mit mehreren Tabellen] DELETE [→ 17.9 Vorsicht beim Löschen von Daten] DESC [→ 17.7 Daten sollten sortiert werden] Feld auswählen [→ 17.5 Wie wähle ich bestimmte Daten aus?] Feld einzigartig [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] Feld-Wert [→ 17.4 So zeige ich alle Daten einer Tabelle an] GROUP BY [→ 17.10 Eine Datenbank mit mehreren Tabellen] INSERT [→ 17.3 Wie speichere ich Daten in einer Tabelle?] JOIN [→ 17.10 Eine Datenbank mit mehreren Tabellen] LIKE [→ 17.5 Wie wähle ich bestimmte Daten aus?]

logischer Operator [→ 17.5 Wie wähle ich bestimmte Daten aus?] nächster Datensatz [→ 17.4 So zeige ich alle Daten einer Tabelle an] NOT [→ 17.5 Wie wähle ich bestimmte Daten aus?] OR [→ 17.5 Wie wähle ich bestimmte Daten aus?] ORDER BY [→ 17.7 Daten sollten sortiert werden] Primärschlüssel [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] [→ 17.10 Eine Datenbank mit mehreren Tabellen] SELECT FROM [→ 17.4 So zeige ich alle Daten einer Tabelle an] SUM() [→ 17.10 Eine Datenbank mit mehreren Tabellen] Tabelle erzeugen [→ 17.2 Wie erzeuge ich Datenbank und Tabelle?] UPDATE [→ 17.8 Wie ändere ich Daten?] Vergleichsoperator [→ 17.5 Wie wähle ich bestimmte Daten aus?] [→ 17.5 Wie wähle ich bestimmte Daten aus?] WHERE [→ 17.5 Wie wähle ich bestimmte Daten aus?] SQL-Injection [→ 17.6 Der Benutzer wählt Daten aus] SQLite [→ 17.1 Der Aufbau einer Datenbank] Datentyp [→ 17.1 Der Aufbau einer Datenbank] sqrt() cmath [→ 9.4 Nützliche mathematische Funktionen] complex [→ 9.6 Rechnen mit komplexen Zahlen] srand() [→ 2.13 Wie erzeuge ich zufällige Zahlen?]

sstream [→ 7.4 Wie wandle ich Zahlen in Strings um?] [→ 12.3 Wie leiten Sie Datenströme?] stack [→ 13.6 Drei einfache Container] Standardwert, Parameter [→ 5.8 Standardwerte vorgeben] Stapel [→ 13.6 Drei einfache Container] static [→ 5.5 Statische Variablen behalten ihren Wert] [→ 10.4 Statische Elemente einer Klasse] Statische Variable [→ 5.5 Statische Variablen behalten ihren Wert] Statisches Element [→ 10.4 Statische Elemente einer Klasse] Statisches Feld [→ 6.3 Intelligente Felder mit fester Größe] [→ 13.2 Intelligente Felder mit fester Größe] status() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] std [→ 1.4 So sieht das erste Programm aus] stem() [→ 9.8 Zugriff auf Dateien und Verzeichnisse] str() istringstream [→ 7.5 Wie verarbeite ich Eingaben?] ostringstream [→ 7.4 Wie wandle ich Zahlen in Strings um?] [→ 12.3 Wie leiten Sie Datenströme?] strcat() [→ 7.2 Einfache Zeichenketten] strcmp() [→ 7.2 Einfache Zeichenketten] strcpy() [→ 7.2 Einfache Zeichenketten] String [→ 7.3 Intelligente Zeichenketten: Strings]

string [→ 7.3 Intelligente Zeichenketten: Strings] [→ 13.1 Wie durchlaufe ich Container?] als einfache Zeichenkette [→ 7.3 Intelligente Zeichenketten: Strings] anfügen [→ 7.3 Intelligente Zeichenketten: Strings] aus Ausgabestrom [→ 7.4 Wie wandle ich Zahlen in Strings um?] aus gleichen Zeichen [→ 7.3 Intelligente Zeichenketten: Strings] aus Zahl [→ 7.4 Wie wandle ich Zahlen in Strings um?] einfügen [→ 7.3 Intelligente Zeichenketten: Strings] ersetzen [→ 7.3 Intelligente Zeichenketten: Strings] [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] Feld von [→ 7.6 Felder von Zeichenketten] finden [→ 7.3 Intelligente Zeichenketten: Strings] Iterator [→ 13.1 Wie durchlaufe ich Container?] kopieren [→ 7.3 Intelligente Zeichenketten: Strings] Länge [→ 7.3 Intelligente Zeichenketten: Strings] löschen am Ende [→ 7.3 Intelligente Zeichenketten: Strings] löschen Zeichen [→ 7.3 Intelligente Zeichenketten: Strings] Teil [→ 7.3 Intelligente Zeichenketten: Strings] verlängern [→ 7.3 Intelligente Zeichenketten: Strings] Zeichen [→ 7.3 Intelligente Zeichenketten: Strings] zu Zahl [→ 7.5 Wie verarbeite ich Eingaben?] strlen() [→ 7.2 Einfache Zeichenketten]

Stroustrup, Bjarne [→ 1.3 Die Entwicklung von C++] struct [→ 8.1 Wie speichere ich zusammengehörige Daten?] Structured Query Language [→ 17.1 Der Aufbau einer Datenbank] Struktur [→ 8.1 Wie speichere ich zusammengehörige Daten?] als Parameter [→ 8.4 Strukturen und Funktionen] Feld von [→ 8.3 Strukturen und Felder] in Struktur [→ 8.5 Eine Hierarchie von Strukturen] kopieren [→ 8.2 Besser einen Typ definieren] substr() [→ 7.3 Intelligente Zeichenketten: Strings] Subtraktion [→ 2.2 Rechnen mit Operatoren] Suche nach Dateien [→ A.2 Installationen unter Ubuntu Linux] Suchen Reguläre Ausdrücke [→ 7.7 Suchen und Ersetzen] swap() algorithm [→ 13.10 Algorithmen für Bereiche] array [→ 13.2 Intelligente Felder mit fester Größe] pair [→ 13.7 Zwei nützliche Typen] switch [→ 3.5 Zweige zusammenfassen mit »switch« und »case«] Symbolische Verknüpfung [→ A.2 Installationen unter Ubuntu Linux] system_clock [→ 9.1 Umgang mit Datum und Uhrzeit]

from_time_t() [→ 9.1 Umgang mit Datum und Uhrzeit] to_time_t() [→ 9.1 Umgang mit Datum und Uhrzeit] system() [→ 9.7 Daten mit dem Betriebssystem austauschen] Systemweiche [→ 15.4 Eine Systemweiche]

T ⇑ Tabelle [→ 17.1 Der Aufbau einer Datenbank] tan() [→ 9.4 Nützliche mathematische Funktionen] Tangens [→ 9.4 Nützliche mathematische Funktionen] Tastenkombination Win + E [→ B.1 Windows – einige Tastenkombinationen] Win + I [→ B.1 Windows – einige Tastenkombinationen] Win + R [→ B.1 Windows – einige Tastenkombinationen] Win + X [→ B.1 Windows – einige Tastenkombinationen] tellg() [→ 12.2 Schreiben und Lesen an beliebiger Stelle] tellp() [→ 12.2 Schreiben und Lesen an beliebiger Stelle] Template [→ 14.6 Templates sind Vorlagen] template [→ 14.6 Templates sind Vorlagen] für Funktion [→ 14.6 Templates sind Vorlagen] für Klasse [→ 14.6 Templates sind Vorlagen] Terminal [→ 9.7 Daten mit dem Betriebssystem austauschen] [→ B.2 Unix-Befehle] macOS [→ A.3 Installationen unter macOS]

Ubuntu Linux [→ A.2 Installationen unter Ubuntu Linux] test() [→ 13.12 Eine Menge von Bits] Text [→ 7.1 Einzelne Zeichen] TEXT (Datentyp) [→ 17.1 Der Aufbau einer Datenbank] TextWrangler [→ A.3 Installationen unter macOS] this [→ 10.3 Wie erzeuge und lösche ich Objekte?] [→ 14.1 Objekte initialisieren, kopieren und erzeugen] this_thread [→ 9.3 Mehrere Threads zur gleichen Zeit] Thread auf Ende warten [→ 9.3 Mehrere Threads zur gleichen Zeit] thread Bibliothek [→ 9.3 Mehrere Threads zur gleichen Zeit] Daten schützen [→ 9.3 Mehrere Threads zur gleichen Zeit] erzeugen [→ 9.3 Mehrere Threads zur gleichen Zeit] gemeinsame Daten [→ 9.3 Mehrere Threads zur gleichen Zeit] join() [→ 9.3 Mehrere Threads zur gleichen Zeit] Klasse [→ 9.3 Mehrere Threads zur gleichen Zeit] Parameter [→ 9.3 Mehrere Threads zur gleichen Zeit] unterbrechen [→ 9.3 Mehrere Threads zur gleichen Zeit] throw [→ 14.4 Fehler behandeln mit Ausnahmen] tie() [→ 13.7 Zwei nützliche Typen] time_point [→ 9.1 Umgang mit Datum und Uhrzeit] [→ 9.1 Umgang mit Datum und Uhrzeit]

now() [→ 9.1 Umgang mit Datum und Uhrzeit] time_since_epoch() [→ 9.2 Bessere zufällige Zahlen] time_since_epoch() [→ 9.2 Bessere zufällige Zahlen] time_t [→ 9.1 Umgang mit Datum und Uhrzeit] time() [→ 2.13 Wie erzeuge ich zufällige Zahlen?] tm [→ 9.1 Umgang mit Datum und Uhrzeit] tm_wday [→ 9.1 Umgang mit Datum und Uhrzeit] to_time_t() [→ 9.1 Umgang mit Datum und Uhrzeit] top() priority_queue [→ 13.6 Drei einfache Container] stack [→ 13.6 Drei einfache Container] Trennung Ziffern [→ 2.8 Mehr über die Speicherung von Zahlen] true [→ 3.9 Wie speichere ich Wahrheitswerte?] trunc() [→ 9.4 Nützliche mathematische Funktionen] try [→ 6.4 Ausnahmen behandeln] Tupel [→ 13.7 Zwei nützliche Typen] tuple [→ 13.7 Zwei nützliche Typen] tuple_cat() [→ 13.7 Zwei nützliche Typen] typedef [→ 8.2 Besser einen Typ definieren] typename [→ 14.6 Templates sind Vorlagen]

U ⇑ U (unsigned) [→ 2.8 Mehr über die Speicherung von Zahlen] Überladung Funktion [→ 5.10 Funktionen mehrfach definieren] Operator [→ 10.5 Wie überlade ich Operatoren?] Ubuntu Linux Installationen [→ A.2 Installationen unter Ubuntu Linux] installieren [→ A.4 Ubuntu Linux unter Windows installieren] Uhr [→ 9.1 Umgang mit Datum und Uhrzeit] Uhrzeit [→ 15.2 Definitionen und Makros] UL (unsigned long) [→ 2.8 Mehr über die Speicherung von Zahlen] ULL (unsigned long long) [→ 2.8 Mehr über die Speicherung von Zahlen] Umlenkung [→ 9.7 Daten mit dem Betriebssystem austauschen] Unäre Vergleichsfunktion [→ 13.10 Algorithmen für Bereiche] Und, logisches [→ 3.4 Wie kann ich Bedingungen kombinieren?] SQL [→ 17.5 Wie wähle ich bestimmte Daten aus?] Unendlich [→ 9.4 Nützliche mathematische Funktionen] Ungleich [→ 3.2 Bedingungen benötigen Vergleiche]

unique pointer [→ 6.5 Einfache und intelligente Zeiger] [→ 6.5 Einfache und intelligente Zeiger] unique() forward_list [→ 13.5 Daten in Listen verketten] list [→ 13.5 Daten in Listen verketten] Unix-Befehle [→ B.2 Unix-Befehle] unlock() [→ 9.3 Mehrere Threads zur gleichen Zeit] unordered_map [→ 13.9 Schlüssel und Werte in einer Map] unordered_multimap [→ 13.9 Schlüssel und Werte in einer Map] unordered_multiset [→ 13.8 Eine Menge von Elementen] unordered_set [→ 13.8 Eine Menge von Elementen] unsigned [→ 2.8 Mehr über die Speicherung von Zahlen] unsigned int [→ 2.13 Wie erzeuge ich zufällige Zahlen?] upper_bound() [→ 13.8 Eine Menge von Elementen] using [→ 1.4 So sieht das erste Programm aus] using namespace [→ 14.3 Namen müssen eindeutig sein] UTC [→ 9.1 Umgang mit Datum und Uhrzeit]

V ⇑ va_arg [→ 5.9 Beliebig viele Parameter] va_end [→ 5.9 Beliebig viele Parameter] va_list [→ 5.9 Beliebig viele Parameter]

va_start [→ 5.9 Beliebig viele Parameter] Variable [→ 2.1 Wie speichere ich Zahlen?] lokal [→ 5.2 Wie übergebe ich Daten?] statisch [→ 5.5 Statische Variablen behalten ihren Wert] zufälliger Wert [→ 2.1 Wie speichere ich Zahlen?] Variadische Funktion [→ 5.9 Beliebig viele Parameter] vector [→ 6.6 Intelligente Felder mit variabler Größe] [→ 13.3 Intelligente Felder mit variabler Größe] Iterator [→ 13.3 Intelligente Felder mit variabler Größe] mehrdimensional [→ 6.9 Daten in mehreren Dimensionen speichern] Veränderliche Referenz [→ 5.2 Wie übergebe ich Daten?] Vereinigungsmenge [→ 13.11 Mengenlehre] Vererbung [→ 11.1 Basisklasse und abgeleitete Klassen] Konstruktor [→ 11.3 Konstruktoren in abgeleiteten Klassen] mehrfach [→ 11.5 Erben von mehreren Klassen] Vergleichsfunktion [→ 13.10 Algorithmen für Bereiche] Vergleichsoperator [→ 3.2 Bedingungen benötigen Vergleiche] SQL [→ 17.5 Wie wähle ich bestimmte Daten aus?] [→ 17.5 Wie wähle ich bestimmte Daten aus?] String [→ 7.3 Intelligente Zeichenketten: Strings] Verkettete Liste [→ 13.5 Daten in Listen verketten] Verknüpfung

logisch [→ 3.4 Wie kann ich Bedingungen kombinieren?] logisch (SQL) [→ 17.5 Wie wähle ich bestimmte Daten aus?] sinnvoll [→ 3.4 Wie kann ich Bedingungen kombinieren?] Verzeichnis [→ 9.8 Zugriff auf Dateien und Verzeichnisse] aktuelles [→ 9.8 Zugriff auf Dateien und Verzeichnisse] [→ B.2 Unix-Befehle] anlegen [→ B.2 Unix-Befehle] durchlaufen [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Eintrag [→ 9.8 Zugriff auf Dateien und Verzeichnisse] erstellen [→ 9.8 Zugriff auf Dateien und Verzeichnisse] existiert [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Hierarchie [→ B.2 Unix-Befehle] Informationen [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Inhalt [→ B.2 Unix-Befehle] kopieren [→ 9.8 Zugriff auf Dateien und Verzeichnisse] löschen [→ 9.8 Zugriff auf Dateien und Verzeichnisse] [→ B.2 Unix-Befehle] löschen rekursiv [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Name [→ 9.8 Zugriff auf Dateien und Verzeichnisse] prüfen [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Trennung [→ 9.8 Zugriff auf Dateien und Verzeichnisse] übergeordnetes [→ 9.8 Zugriff auf Dateien und Verzeichnisse] [→ B.2 Unix-Befehle]

umbenennen [→ 9.8 Zugriff auf Dateien und Verzeichnisse] verschieben [→ 9.8 Zugriff auf Dateien und Verzeichnisse] verstecktes [→ B.2 Unix-Befehle] wechseln [→ B.2 Unix-Befehle] Zugriffsrechte [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Zugriffsrechte ändern [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Verzeichnisbaum [→ 5.11 Funktionen, die sich selbst aufrufen] Verzweigtes Feld [→ 6.9 Daten in mehreren Dimensionen speichern] Verzweigung [→ 3.1 Zwei Zweige mit »if« und »else«] geschachtelt [→ 3.3 Mehr als zwei Zweige] kurz [→ 3.10 Die Kurzform: der bedingte Ausdruck] mehrfach [→ 3.3 Mehr als zwei Zweige] [→ 3.5 Zweige zusammenfassen mit »switch« und »case«] Präprozessor [→ 15.3 Definitionen und Verzweigungen] Wahrheitswert [→ 3.9 Wie speichere ich Wahrheitswerte?] virtual [→ 11.4 Was bedeutet Polymorphie?] VirtualBox [→ A.4 Ubuntu Linux unter Windows installieren] Virtuelle Maschine [→ A.4 Ubuntu Linux unter Windows installieren] Gasterweiterungen [→ A.4 Ubuntu Linux unter Windows installieren]

gemeinsamer Ordner [→ A.4 Ubuntu Linux unter Windows installieren] void [→ 5.3 Wie erhalte ich ein Ergebnis zurück?] Vorgabewert, Parameter [→ 5.8 Standardwerte vorgeben] Vorrang [→ 3.7 Welcher Operator hat Vorrang?] Vorzeichenlos [→ 2.8 Mehr über die Speicherung von Zahlen]

W ⇑ Wahrheitswert [→ 3.1 Zwei Zweige mit »if« und »else«] [→ 3.9 Wie speichere ich Wahrheitswerte?] [→ 13.12 Eine Menge von Bits] umdrehen [→ 3.4 Wie kann ich Bedingungen kombinieren?] Warteschlange einfach [→ 13.6 Drei einfache Container] mit zwei Enden [→ 13.4 Eine Warteschlange mit zwei Enden] Priorität [→ 13.6 Drei einfache Container] Wertebereich [→ 2.8 Mehr über die Speicherung von Zahlen] what() [→ 6.4 Ausnahmen behandeln] while [→ 4.4 Besser vorher prüfen mit »while«] Wiederholung [→ 4.1 Regelmäßige Wiederholungen mit »for«] Windows-Installationen [→ A.1 Installationen unter Windows] Winkel [→ 9.4 Nützliche mathematische Funktionen]

komplexe Zahl [→ 9.6 Rechnen mit komplexen Zahlen] Wissenschaftliche Notation [→ 2.5 Zahlen formatieren mit Manipulatoren] Wochentag [→ 9.1 Umgang mit Datum und Uhrzeit] Wurzel [→ 9.4 Nützliche mathematische Funktionen] komplexe Zahl [→ 9.6 Rechnen mit komplexen Zahlen]

X ⇑ Xcode [→ A.3 Installationen unter macOS] XML [→ 16.1 Die erste GUI-Anwendung]

Z ⇑ Zahl aus String [→ 7.5 Wie verarbeite ich Eingaben?] Betrag [→ 9.4 Nützliche mathematische Funktionen] definierter Wert [→ 9.4 Nützliche mathematische Funktionen] Fließkomma [→ 2.1 Wie speichere ich Zahlen?] [→ 2.8 Mehr über die Speicherung von Zahlen] ganz [→ 2.1 Wie speichere ich Zahlen?] [→ 2.8 Mehr über die Speicherung von Zahlen] komplex [→ 9.6 Rechnen mit komplexen Zahlen] prüfen [→ 9.4 Nützliche mathematische Funktionen] rechnen [→ 2.2 Rechnen mit Operatoren] runden [→ 9.4 Nützliche mathematische Funktionen]

Umwandlungsregeln [→ 7.5 Wie verarbeite ich Eingaben?] zu String [→ 7.4 Wie wandle ich Zahlen in Strings um?] Zeichen [→ 7.1 Einzelne Zeichen] Zeichenkette [→ 7.1 Einzelne Zeichen] intelligent [→ 7.3 Intelligente Zeichenketten: Strings] Zeichenkette (einfach) [→ 7.2 Einfache Zeichenketten] anhängen [→ 7.2 Einfache Zeichenketten] Ende [→ 7.2 Einfache Zeichenketten] kopieren [→ 7.2 Einfache Zeichenketten] Länge [→ 7.2 Einfache Zeichenketten] vergleichen [→ 7.2 Einfache Zeichenketten] Zeiger [→ 6.5 Einfache und intelligente Zeiger] einfach [→ 6.5 Einfache und intelligente Zeiger] intelligent [→ 6.5 Einfache und intelligente Zeiger] [→ 6.5 Einfache und intelligente Zeiger] Iterator [→ 12.4 Wie ist das CSV-Format zum Austausch aufgebaut?] this [→ 10.3 Wie erzeuge und lösche ich Objekte?] Zeilenende [→ 12.2 Schreiben und Lesen an beliebiger Stelle] Zeilenumbruch [→ 1.4 So sieht das erste Programm aus] Zeit messen [→ 9.1 Umgang mit Datum und Uhrzeit] Zeitangabe [→ 9.1 Umgang mit Datum und Uhrzeit] rechnen [→ 9.1 Umgang mit Datum und Uhrzeit]

umwandeln [→ 9.1 Umgang mit Datum und Uhrzeit] [→ 9.1 Umgang mit Datum und Uhrzeit] Zeitdauer [→ 9.1 Umgang mit Datum und Uhrzeit] [→ 9.1 Umgang mit Datum und Uhrzeit] seit Beginn [→ 9.2 Bessere zufällige Zahlen] Zeitpunkt [→ 9.1 Umgang mit Datum und Uhrzeit] Zugriffsrechte [→ 9.8 Zugriff auf Dateien und Verzeichnisse] [→ 9.8 Zugriff auf Dateien und Verzeichnisse] Zuweisung [→ 2.1 Wie speichere ich Zahlen?] kombiniert [→ 2.6 Zuweisungen kürzer schreiben]

Rechtliche Hinweise Das vorliegende Werk ist in all seinen Teilen urheberrechtlich geschützt. Weitere Hinweise dazu finden Sie in den Allgemeinen Geschäftsbedingungen des Anbieters, bei dem Sie das Werk erworben haben.

Markenschutz Die in diesem Werk wiedergegebenen Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. können auch ohne besondere Kennzeichnung Marken sein und als solche den gesetzlichen Bestimmungen unterliegen.

Haftungsausschluss Ungeachtet der Sorgfalt, die auf die Erstellung von Text, Abbildungen und Programmen verwendet wurde, können weder Verlag noch Autor, Herausgeber, Übersetzer oder Anbieter für mögliche Fehler und deren Folgen eine juristische Verantwortung oder irgendeine Haftung übernehmen.

Über den Autor

 

Thomas Theis ist Dipl.-Ing. Technische Informatik. Er verfügt über langjährige Erfahrung als Softwareentwickler und IT-Dozent, unter anderem an der Fachhochschule Aachen. Er leitet Programmier-Schulungen zu C/C++, Visual Basic und Webprogrammierung und ist Autor vieler erfolgreicher Fachbücher.

Dokumentenarchiv Das Dokumentenarchiv umfasst alle Abbildungen und ggf. Tabellen und Fußnoten dieses E-Books im Überblick.



Abbildung 2.1    Zwei Haltepunkte



Abbildung 2.2    Kontrolle des Werts



Abbildung 12.1    CSV-Datei in MS Excel



Abbildung 12.2    CSV-Datei in LibreOffice Calc



Abbildung 12.3    Geänderte CSV-Datei in LibreOffice Calc



Abbildung 12.4    Liste der Bestzeiten

Abbildung 13.1    String und String-Iterator

Abbildung 13.2    »array«-Feld und zugehöriger Iterator

Abbildung 13.3    »vector«-Feld und zugehöriger Iterator

Abbildung 13.4    Ein »deque«-Objekt mit dem zugehörigen Iterator

Abbildung 13.5    Eine einfach verkettete Liste

Abbildung 13.6    Eine doppelt verkettete Liste

Abbildung 13.7    Stapel

Abbildung 13.8    Einfache Warteschlange

Abbildung 13.9    Prioritäts-Warteschlange

Abbildung 13.10    Ein »set« von »int«-Werten

Abbildung 13.11    Eine Map mit »int-string«-Paaren



Abbildung 13.12    Schnittmenge



Abbildung 13.13    Vereinigungsmenge



Abbildung 13.14    Differenzmenge



Abbildung 13.15    Symmetrische Differenzmenge



Abbildung 16.1    Die fertige Anwendung



Abbildung 16.2    Einträge für die Klasse »MainWindow«



Abbildung 16.3    Projektverwaltung



Abbildung 16.4    Projektfenster und Datei »main.cpp«

Abbildung 16.5    Datei »mainwindow.ui«

Abbildung 16.6    XML-Code der Benutzeroberfläche



Abbildung 16.7    Erstes Anwendungsfenster, ohne Widgets



Abbildung 16.8    Widget-Gruppe »Display Widgets«



Abbildung 16.9    Alle drei Widgets



Abbildung 16.10    Objektnamen aller drei Widgets



Abbildung 16.11    Verbindung zwischen »CmdEnde« und »close()«



Abbildung 16.12    Ein einfacher Kopfrechentrainer



Abbildung 16.13    Widgets zur Eingabe



Abbildung 16.14    Die Widget-Objekte



Abbildung 16.15    Ein erweiterter Kopfrechentrainer



Abbildung 16.16    Die Widget-Objekte



Abbildung 16.17    Weitere Widgets



Abbildung 16.18    Die Widget-Objekte



Abbildung 16.19    Dial Widget, Wert 49 = 78 % des Bereichs



Abbildung 16.20    Slider Widget, Wert 131 = 31 % des Bereichs



Abbildung 16.21    Date/Time Edit Widget, Wert im Label



Abbildung 16.22    Calendar Widget, Wert im Label



Abbildung 17.1    GUI, Startversion



Abbildung 17.2    Tabelle »personen« existiert bereits.



Abbildung 17.3    Datensätze existieren bereits.



Abbildung 17.4    Neue Schaltfläche



Abbildung 17.5    Alle Datensätze und alle Felder



Abbildung 17.6    Falscher Tabellenname



Abbildung 17.7    Auswahl einzelner Felder



Abbildung 17.8    Vergleich von Zahlen



Abbildung 17.9    Vergleich von Zeichenketten



Abbildung 17.10    Logische Verknüpfung



Abbildung 17.11    Platzhalter %, einmal



Abbildung 17.12    Platzhalter %, zweimal



Abbildung 17.13    Platzhalter _ (Unterstrich)



Abbildung 17.14    Eingabe des Benutzers für gesamten Feldinhalt



Abbildung 17.15    Eingabe des Benutzers für Teil des Feldinhalts



Abbildung 17.16    Absteigende Sortierung nach dem Feld »gehalt«



Abbildung 17.17    Sortierung nach den Feldern »name« und »vorname«



Abbildung 17.18    Anzahl der betroffenen Datensätze



Abbildung 17.19    Änderung bei einem Datensatz

Abbildung 17.20    Projektverwaltung, Datenbankmodell



Abbildung 17.21    Benutzeroberfläche



Abbildung 17.22    Start-Bildschirm



Abbildung 17.23    Vor dem Start des Vokabeltests



Abbildung 17.24    Vokabel und Übersetzung



Abbildung 17.25    Kommentar zur richtigen Antwort



Abbildung 17.26    Kommentar zur falschen Antwort



Abbildung 17.27    Wirklich beenden?



Abbildung 17.28    Nach dem Bestehen des Vokabeltests



Abbildung 17.29    Gesamtes Dialogfeld, Listen der Vokabeln



Abbildung 17.30    Eingabe eines neuen Datensatzes



Abbildung 17.31    Widget-Objekte mit Namen



Abbildung 17.32    Projekt »Personenverwaltung«