Glossar
C++-Glossar: Fachbegriffe verständlich erklärt#
Nachschlagen · Lektion 58 von 60
Voraussetzungen: Keine. Lernziel: Du kannst Begriffe beim Lesen der Lektionen schnell nachschlagen.
Dieses Glossar ergänzt die Erklärungen direkt in den Lektionen. Ein Begriff kann je nach Kontext enger gemeint sein; etwa ein * als Multiplikation oder als Zeigerdereferenzierung. Folge bei Unsicherheit dem verlinkten Kapitel und seinem vollständigen Beispiel.
Sprache und Werkzeuge#
Begriff | Bedeutung | Vertiefung |
|---|---|---|
Algorithmus | Genaue Schritte zur Lösung einer Aufgabe | |
Quelltext | Von Menschen geschriebener Programmtext | |
Syntax | Regeln für die erlaubte Schreibweise | |
Semantik | Bedeutung gültiger Schreibweisen | |
Compiler | Übersetzt und prüft Quelltext | |
Linker | Verbindet übersetzte Teile und Bibliotheken | |
Toolchain | Zusammengehörige Compiler-, Linker- und Bibliothekswerkzeuge | |
IDE | Entwicklungsumgebung mit zusammengefassten Werkzeugen | |
Terminal | Textbasierte Oberfläche für Programme | |
Shell | Interpretiert eingegebene Befehle | |
Build | Vorgang zum Erzeugen der Programmergebnisse | |
Header | Eingebundene Schnittstellen- und Deklarationsdatei | |
Präprozessor | Verarbeitet unter anderem Include-Anweisungen | |
Makro | Benannte Präprozessorersetzung oder Markierung | |
Übersetzungseinheit | Vorbereitete Quelldatei einschließlich eingebundener Inhalte | |
Namespace | Namensgruppe; im Wiki zusätzlich ein organisatorischer Bereich |
Werte und Programmfluss#
Begriff | Bedeutung | Vertiefung |
|---|---|---|
Typ | Legt Art eines Werts und passende Operationen fest | |
Objekt | Instanz mit Typ, Darstellung und Lebensdauer | |
Variable | Benennt ein Objekt beziehungsweise einen Wertträger | |
Literal | Direkt geschriebener Wert wie 42 oder "Hi" | |
Initialisierung | Erzeugen eines Objekts mit Anfangszustand | |
Zuweisung | Änderung eines bereits vorhandenen Werts | |
Ausdruck | Code, der einen Wert berechnet | |
Operator | Zeichenfolge für eine Operation | |
Operand | Wert, auf den ein Operator angewendet wird | |
Konvertierung | Umwandlung zu einem anderen Typ | |
Narrowing | Möglicherweise verlustbehaftete verengende Umwandlung | |
Iteration | Ein Schleifendurchlauf | |
Parameter | Benannter Eingang einer Funktion | |
Argument | Tatsächlich beim Aufruf übergebener Wert | |
Deklaration | Bekanntmachen eines Namens und seiner Eigenschaften | |
Definition | Vollständiges Festlegen, etwa des Funktionskörpers | |
Rekursion | Direkter oder indirekter Selbstaufruf | |
EOF | Ende einer Eingabequelle | |
Escape-Sequenz | Besondere Literalschreibweise mit Backslash | |
Unicode | Einheitliche Nummernzuordnung für Zeichen | |
UTF-8 | Darstellung von Unicode als Bytefolgen |
Speicher und Datenstrukturen#
Begriff | Bedeutung | Vertiefung |
|---|---|---|
Container | Typ zur Verwaltung mehrerer Elemente | |
Index | Positionsnummer, meist ab null | |
Iterator | Objekt zur Beschreibung einer Position im Bereich | |
Referenz | Zusätzlicher Name für ein vorhandenes Objekt | |
Zeiger | Wert für Zugriff auf ein Ziel oder ohne Ziel als Nullzeiger | |
Dereferenzieren | Über einen Verweis auf das Ziel zugreifen | |
Lebensdauer | Zeitraum, in dem ein Objekt gültig existiert | |
Dangling | Verweis auf ein nicht mehr lebendes Ziel | |
RAII | Ressourcenfreigabe an Objektlebensdauer binden | |
Ownership | Verantwortung für die Lebensdauer einer Ressource | |
Reallokation | Neue Speicherbereitstellung mit Übertragung der Elemente | |
Invalidierung | Bisheriger Zugriff oder Iterator wird ungültig | |
Undefiniertes Verhalten | Die Sprache macht nach einer Regelverletzung keine Ergebnisvorgabe | |
Stack | Üblicher Aufrufstapel mit lokalen Aufrufinformationen | |
Heap | Üblicher Bereich dynamischer Speicherbereitstellung |
Eigene Typen und fortgeschrittene Themen#
Begriff | Bedeutung | Vertiefung |
|---|---|---|
Invariante | Regel, die an den vorgesehenen Benutzungsgrenzen gelten soll | |
Konstruktor | Initialisiert ein neues Klassenobjekt | |
Destruktor | Übernimmt Arbeiten bei der Objektzerstörung | |
Polymorphie | Verschiedene Typen über eine gemeinsame Schnittstelle verwenden | |
Komposition | Ein Objekt aus anderen Objekten zusammensetzen | |
Template | Vorlage für Funktionen oder Typen | |
Concept | Benannte Anforderung an einen Typ ab C++20 | |
Lambda | Direkt formuliertes aufrufbares Objekt | |
Capture | In einer Lambda gespeicherte Kopie oder Referenz | |
Move-Semantik | Ressourcenübernahme über passende Verschiebeoperationen | |
View | Leichtgewichtiger Zugriff auf einen Bereich, oft ohne eigenen Besitz | |
Exception | Fehlerübertragung mit throw und Behandlung mit catch | |
Thread | Ausführungsstrang innerhalb eines Prozesses | |
Mutex | Sperre für gegenseitigen Ausschluss | |
Datenrennen | Nicht ausreichend synchronisierte konkurrierende Datenzugriffe | |
Regressionstest | Test, der die Wiederkehr eines behobenen Fehlers erkennt |
Übung#
Erkläre den Unterschied zwischen Gültigkeitsbereich und Lebensdauer in einem eigenen Satz.
Lösung
Der Gültigkeitsbereich beschreibt, wo ein Name im Quelltext sichtbar ist. Die Lebensdauer beschreibt, wann das zugehörige Objekt existiert. Ein noch gespeicherter Zeiger kann sein bereits zerstörtes Ziel nicht allein durch seinen Namen am Leben halten.
Weiterlernen#
Zurück: Übungsprojekt: Dateiinhalt auswerten · Kursübersicht · Weiter: Compiler- und Linkerfehler nachschlagen
Kommentare 0
Kommentare sind für diese Seite deaktiviert.