Basic concepts
| 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 | ||||||||||||||||
|
||||||||||||||||
| 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
|