C++
VeröffentlichtRevision 1

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

Programmieren

Quelltext

Von Menschen geschriebener Programmtext

Erstes Programm

Syntax

Regeln für die erlaubte Schreibweise

Compiler

Semantik

Bedeutung gültiger Schreibweisen

Programmieren

Compiler

Übersetzt und prüft Quelltext

Build

Linker

Verbindet übersetzte Teile und Bibliotheken

Header

Toolchain

Zusammengehörige Compiler-, Linker- und Bibliothekswerkzeuge

Einrichtung

IDE

Entwicklungsumgebung mit zusammengefassten Werkzeugen

Einrichtung

Terminal

Textbasierte Oberfläche für Programme

Einrichtung

Shell

Interpretiert eingegebene Befehle

Einrichtung

Build

Vorgang zum Erzeugen der Programmergebnisse

CMake

Header

Eingebundene Schnittstellen- und Deklarationsdatei

Header

Präprozessor

Verarbeitet unter anderem Include-Anweisungen

Header

Makro

Benannte Präprozessorersetzung oder Markierung

Include Guard

Übersetzungseinheit

Vorbereitete Quelldatei einschließlich eingebundener Inhalte

Header

Namespace

Namensgruppe; im Wiki zusätzlich ein organisatorischer Bereich

Scope

Werte und Programmfluss#

Begriff

Bedeutung

Vertiefung

Typ

Legt Art eines Werts und passende Operationen fest

Datentypen

Objekt

Instanz mit Typ, Darstellung und Lebensdauer

Speicher

Variable

Benennt ein Objekt beziehungsweise einen Wertträger

Variablen

Literal

Direkt geschriebener Wert wie 42 oder "Hi"

Erstes Programm

Initialisierung

Erzeugen eines Objekts mit Anfangszustand

Variablen

Zuweisung

Änderung eines bereits vorhandenen Werts

Variablen

Ausdruck

Code, der einen Wert berechnet

Operatoren

Operator

Zeichenfolge für eine Operation

Operatoren

Operand

Wert, auf den ein Operator angewendet wird

Operatoren

Konvertierung

Umwandlung zu einem anderen Typ

Casts

Narrowing

Möglicherweise verlustbehaftete verengende Umwandlung

Casts

Iteration

Ein Schleifendurchlauf

Schleifen

Parameter

Benannter Eingang einer Funktion

Funktionen

Argument

Tatsächlich beim Aufruf übergebener Wert

Funktionen

Deklaration

Bekanntmachen eines Namens und seiner Eigenschaften

Header

Definition

Vollständiges Festlegen, etwa des Funktionskörpers

Funktionen

Rekursion

Direkter oder indirekter Selbstaufruf

Rekursion

EOF

Ende einer Eingabequelle

Eingabe

Escape-Sequenz

Besondere Literalschreibweise mit Backslash

Escapes

Unicode

Einheitliche Nummernzuordnung für Zeichen

Strings

UTF-8

Darstellung von Unicode als Bytefolgen

Strings

Speicher und Datenstrukturen#

Begriff

Bedeutung

Vertiefung

Container

Typ zur Verwaltung mehrerer Elemente

Vector

Index

Positionsnummer, meist ab null

Array

Iterator

Objekt zur Beschreibung einer Position im Bereich

Iteratoren

Referenz

Zusätzlicher Name für ein vorhandenes Objekt

Referenzen

Zeiger

Wert für Zugriff auf ein Ziel oder ohne Ziel als Nullzeiger

Zeiger

Dereferenzieren

Über einen Verweis auf das Ziel zugreifen

Zeiger

Lebensdauer

Zeitraum, in dem ein Objekt gültig existiert

Speicher

Dangling

Verweis auf ein nicht mehr lebendes Ziel

Zeigerfallen

RAII

Ressourcenfreigabe an Objektlebensdauer binden

Speicherverwaltung

Ownership

Verantwortung für die Lebensdauer einer Ressource

Smart Pointer

Reallokation

Neue Speicherbereitstellung mit Übertragung der Elemente

Vector

Invalidierung

Bisheriger Zugriff oder Iterator wird ungültig

Iteratoren

Undefiniertes Verhalten

Die Sprache macht nach einer Regelverletzung keine Ergebnisvorgabe

Zeigerfallen

Stack

Üblicher Aufrufstapel mit lokalen Aufrufinformationen

Speicher

Heap

Üblicher Bereich dynamischer Speicherbereitstellung

Speicher

Eigene Typen und fortgeschrittene Themen#

Begriff

Bedeutung

Vertiefung

Invariante

Regel, die an den vorgesehenen Benutzungsgrenzen gelten soll

Klassen

Konstruktor

Initialisiert ein neues Klassenobjekt

Konstruktoren

Destruktor

Übernimmt Arbeiten bei der Objektzerstörung

RAII

Polymorphie

Verschiedene Typen über eine gemeinsame Schnittstelle verwenden

Vererbung

Komposition

Ein Objekt aus anderen Objekten zusammensetzen

Vererbung

Template

Vorlage für Funktionen oder Typen

Templates

Concept

Benannte Anforderung an einen Typ ab C++20

Templates

Lambda

Direkt formuliertes aufrufbares Objekt

Lambdas

Capture

In einer Lambda gespeicherte Kopie oder Referenz

Lambdas

Move-Semantik

Ressourcenübernahme über passende Verschiebeoperationen

Move

View

Leichtgewichtiger Zugriff auf einen Bereich, oft ohne eigenen Besitz

Ranges

Exception

Fehlerübertragung mit throw und Behandlung mit catch

Ausnahmen

Thread

Ausführungsstrang innerhalb eines Prozesses

Nebenläufigkeit

Mutex

Sperre für gegenseitigen Ausschluss

Nebenläufigkeit

Datenrennen

Nicht ausreichend synchronisierte konkurrierende Datenzugriffe

Nebenläufigkeit

Regressionstest

Test, der die Wiederkehr eines behobenen Fehlers erkennt

Tests

Ü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

Mitwirkende 1

Menschen, deren Änderungen in dieser Seite veröffentlicht wurden.

Kommentare 0

Kommentare sind für diese Seite deaktiviert.