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.