API

Kurzform für Application Programming Interface (deutsch: Programmierschnittstelle). Stellt Anbindungen einer Software oder eines Softwareteils zu einem anderen Softwareteil bereit. Über eine API können Informationen ausgetauscht oder Ereignisse ausgelöst werden.

Abstrakte Klasse

Eine Art »Bauplan« für Unterklassen. Eine abstrakte Klasse hat mindestens eine Methode deklariert, ohne den zugehörigen Code anzugeben. Das bedeutet, dass von dieser Klasse kein Objekt direkt erstellt werden kann. Stattdessen muss eine Unterklasse erzeugt werden, in der der fehlende Code hinzugefügt wird.

Bibliothek

Programmcode, den Sie in Ihr eigenes Programm einbinden können. Hierdurch erhalten Sie komplexere Funktionalitäten, ohne sie selbst programmieren zu müssen. Bibliotheken stellen Funktionen und Klassen bereit, die Sie nach dem Einbinden der entsprechenden Headerdateien nutzen können.

Bit und Byte

Informationen im Arbeitsspeicher werden im Binärsystem codiert. Ein Speicherbereich heißt Byte und kann 8 sogenannte Bits beinhalten. Diese wiederum können jeweils 0 oder 1 sein.

Boolean

Eine Variable, die entweder den Wert wahr (true) oder falsch (false) einnehmen kann.

Bug

Ein unerwartetes Verhalten Ihres Programmes. Entweder haben Sie einen Fehler beim Programmieren gemacht oder einen Sonderfall übersehen.

Callback

Code, der beim Eintreten eines Ereignisses aufgerufen werden soll. So können Sie zum Beispiel für den Klick auf eine Schaltfläche einen Click-Callback definieren.

Camel-Case

Eine besondere Schreibweise von Variablennamen; Teil eines Coding-Styles. Da Leerzeichen innerhalb von Variablennamen nicht erlaubt sind, können Sie bei Namen, die aus mehreren Wörtern bestehen, verschiedene Arten des Aneinanderhängens wählen. Beim Camel-Case wird jeder Wortanfang großgeschrieben, also zum Beispiel: »myNewVariable«.

Cast

Das Umwandeln eines Variablentyps in einen anderen.

Code

Das Grundgerüst Ihres Programmes ist der Programmcode. Er besteht aus Anweisungen, die von oben nach unten durchgegangen werden.

Coding-Style

Jede Programmiersprache hat eine Liste an Regeln, wie gültiger Programmcode aufgebaut sein muss. Abgesehen davon gibt es viele Möglichkeiten, wie genau ein Programmierer den Code gestaltet. Der sogenannte Coding-Style ist eine Konvention, die das Aussehen des Codes innerhalb eines Projektes vereinheitlichen soll. Meistens werden Regeln für die Klammersetzung, für die Benennung und für die Dateiorganisation vorgegeben. Der Coding-Style ist aber keine Vorgabe des C++-Compilers, sondern eine Abmachung zwischen den Programmierern eines Projektes.

Compiler

Übersetzt den Code einer Programmiersprache in Maschinencode, der vom Computer verstanden und ausgeführt werden kann.

Debugger

Eine Ansammlung von hilfreichen Werkzeugen zum Aufspüren von Programmfehlern (Bugs). Er ermöglicht den Einblick in ein laufendes Programm sowie das Pausieren der Ausführung.

Definition

Sie gibt den Code an, der innerhalb der Funktion ausgeführt werden soll.

Deklaration

Sie gibt die Art und Weise an, wie eine Funktion aufgerufen werden kann. Sie besteht aus einem Rückgabewert, dem Funktionsnamen und den Parametern. Der Code selbst ist aber nicht Teil der Deklaration.

Destruktor

Wird beim Aufräumen eines Objektes ausgeführt, unmittelbar bevor der Speicher freigegeben wird.

Enum

Zum Definieren von Listen mit konstanten, vorher bekannten Werten verwendbar. Beispielsweise für Wochentage oder Farben.

Exception

Ein Ausnahmefehler, der vom Programm geschmissen wird. Kann meistens über try/catch abgefangen werden.

Funktion

Ein kleines Unterprogramm, welches an anderer Stelle aufgerufen werden kann. Ermöglicht es, denselben Code an unterschiedlichen Stellen auszuführen.

Getter

Eine Methode, die den Wert einer Membervariable zurückgibt. Meistens für Variablen, die »private« sind.

Gültigkeitsbereich

Der Codebereich, in dem auf eine definierte Variable zugegriffen werden kann.

Header

Eine Datei, oft mit der Endung .hpp oder .h, in der Funktionen und Klassen deklariert werden. Headerdateien können mit dem Befehl »#include« an anderer Stelle eingebunden werden.

IDE

Integrated Development Environment (integrierte Entwicklungsumgebung). Ein Programm, welches beim Programmieren durch eine Vielzahl an Werkzeugen unterstützt.

Initialisierung

Das Anlegen einer Variable im Speicherbereich und Befüllen mit einem Wert.

JSON

JavaScript Object Notation, ein menschenlesbares Format zum Abspeichern von strukturierten Daten.

KISS

Keep it simple and stpid (Halte es einfach und primitiv). Ein Leitspruch zum Lösen schwieriger Probleme.

Klasse

Der Bauplan, nach dem zur Laufzeit eines Programmes entsprechende Objekte angelegt werden sollen. Kann Methoden und Membervariablen beinhalten.

Kommentar

Eine menschenlesbare Anmerkung im Programmcode. Sie wird vom Compiler ignoriert und ist daher nicht Teil des fertigen Programms. Mit Kommentaren kann der Code erklärt sowie auf eventuelle Probleme hingewiesen werden.

Konstante

Eine Variable, deren Wert nach der Initialisierung nicht mehr verändert werden kann.

Konstruktor

Code, der beim Anlegen eines neuen Objekts ausgeführt wird.

Lambdafunktion

Eine anonyme Funktion, das heißt eine Funktion ohne Namen. Eignet sich insbesondere für Callbacks.

Membervariable

Eine Variable in der Obhut einer Klasse. Wird beim Erzeugen eines Objekts dieser Klasse angelegt und kann auch nur über dieses Objekt angesprochen werden.

Methode

Eine Funktion, die Teil einer Klasse ist. Kann nur über ein Objekt dieser Klasse angesprochen werden.

Objekt

Ein konkretes Exemplar, welches nach Vorbild einer Klasse angelegt wurde.

Operator

Ein (oder mehrere) Spezialsymbole, die ein bestimmtes Verhalten hervorrufen. Es gibt Vergleichsoperatoren (<, >, ==, !=, ...) oder verändernde Operatoren (+, ++, <<, >>).

Parameter

Eingabewerte für eine Funktion oder Methode.

RAII

Resource Acquisition is Initialization (Ressourcenbelegung ist Initialisierung). Beschreibt die Technik, im Konstruktor einer Klasse Ressourcen anzulegen und im Destruktor wieder freizugeben. Ist beispielsweise die Grundlage von Smart Pointern.

Referenz

Ein Verweis auf eine Variable. Eine Änderung der Variable mittels einer Referenz verändert auch all die anderen Stellen, an der mittels Referenz zugegriffen wird.

Rekursivität

Eine Funktion, die sich selbst aufruft. Prinzipiell ein unendlich verschachtelbarer Vorgang, der daher mit einer Abbruchbedingung versehen werden muss, um das Programm nicht zum Absturz zu bringen.

Schleife

Die wiederholte Ausführung einer oder mehrerer Programmzeilen.

Serialisierung/Deserialisierung

Serialisierung beschreibt das Abspeichern einer Variable beispielsweise in einen String oder eine Datei. Deserialisierung ist das Auslesen dieses Strings oder dieser Datei zurück in eine Variable.

Setter

Methode, die den Wert einer Membervariable setzt. Üblicherweise mit Überprüfungen des Wertes verbunden, sodass ungültige Werte der Membervariable verhindert werden.

Smart Pointer

Eine Hülle um normale Zeiger, die wesentliche Programmierfehler beim Hantieren mit ebensolchen verhindert.

Standard Library

Eine Bibliothek, die Teil des C++-Sprachstandards ist. Sie bietet Standardfunktionalitäten wie das Handhaben von Texten und Dateien sowie eine Reihe an Datentypen an.

Template

Ein Bauplan für Funktionen oder Klassen. Mit einem Template können Parametertypen ausgetauscht werden, ohne dass der Code erneut geschrieben werden muss.

Test-Driven Development

Beschreibt die Vorgehensweise, vor der eigentlichen Implementierung einer Funktionalität zuerst den dazugehörigen automatischen Test zu schreiben.

Thread

Ein Teil des Programmes, der gleichzeitig mit anderen Threads ausgeführt werden kann.

Überladen

Das Bereitstellen derselben Funktion mit anderen Parametern.

Überspielen

Das Ersetzen des Codes einer Methode durch neuen Code in der Unterklasse.

Variable

Speicher für Daten im Programmablauf.

Virtuelle Methode

Eine Methode, die in einer Unterklasse überspielt werden darf.

Zeiger

Zeigt auf einen Speicherbereich, in dem eine Variable liegt. Hierdurch kann ein direkter, allerdings fehleranfälliger Zugriff auf den Arbeitsspeicher geschehen.

vcpkg

Open-Source-Paketmanager von Microsoft, der das Installieren von Programmbibliotheken vereinfacht.