Namespaces
Variants

Basic concepts

From cppreference.net
C++ language
General topics
Flow control
Conditional execution statements
Iteration statements (loops)
Jump statements
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications ( until C++17* )
noexcept specifier (C++11)
Exceptions
Namespaces
Types
Specifiers
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Storage duration specifiers
Initialization
Expressions
Alternative representations
Literals
Boolean - Integer - Floating-point
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
typedef declaration
Type alias declaration (C++11)
Casts
Memory allocation
Classes
Class-specific function properties
Special member functions
Templates
Miscellaneous

Dieser Abschnitt bietet Definitionen für die spezifische Terminologie und die Konzepte, die bei der Beschreibung der C++ Programmiersprache verwendet werden.

Ein C++-Programm ist eine Folge von Textdateien (typischerweise Header- und Quelldateien), die Deklarationen enthalten. Diese durchlaufen eine Übersetzung , um ein ausführbares Programm zu werden, das ausgeführt wird, wenn die C++-Implementierung seine main-Funktion aufruft.

Bestimmte Wörter in einem C++-Programm haben besondere Bedeutung, und diese werden als Keywords bezeichnet. Andere können als Identifiers verwendet werden. Comments werden während der Übersetzung ignoriert. C++-Programme enthalten auch Literals , deren Zeichenwerte durch character sets and encodings bestimmt werden. Bestimmte Zeichen im Programm müssen mit escape sequences dargestellt werden.

Die Entitäten eines C++-Programms sind Werte, Objekte , Referenzen , structured bindings (seit C++17) , result bindings (seit C++26) , Funktionen , Enumeratoren , Typen , Klassenmember, Templates , Template-Spezialisierungen , Packs (seit C++11) und Namensräume . Präprozessor- Makros sind keine C++-Entitäten.

Deklarationen können Entitäten einführen, sie mit Namen verknüpfen und deren Eigenschaften festlegen. Die Deklarationen, die alle Eigenschaften definieren, die zur Verwendung einer Entität erforderlich sind, sind Definitionen . Ein Programm darf nur eine Definition jeder nicht-inline Funktion oder Variable enthalten, die ODR-used wird.

Definitionen von Funktionen beinhalten üblicherweise Sequenzen von statements , von denen einige expressions enthalten, die die vom Programm durchzuführenden Berechnungen spezifizieren.

In einem Programm vorkommende Namen werden mit den Deklarationen, die sie eingeführt haben, mittels Namenssuche verknüpft. Jeder Name ist nur innerhalb eines Teils des Programms gültig, der als sein Gültigkeitsbereich bezeichnet wird. Einige Namen besitzen Verknüpfung , wodurch sie auf dieselben Entitäten verweisen, wenn sie in verschiedenen Gültigkeitsbereichen oder Übersetzungseinheiten auftreten.

Jedes Objekt, jede Referenz, Funktion und jeder Ausdruck in C++ ist mit einem Typ assoziiert, der fundamental , zusammengesetzt oder benutzerdefiniert , vollständig oder unvollständig , etc. sein kann.

Deklarierte Objekte und deklarierte Referenzen, die keine non-static data members sind, werden als Variablen  bezeichnet.

Siehe auch

C-Dokumentation für Grundkonzepte