Satzzeichen
Von cppreference.com
Dies sind die Satzzeichensymbole in C++. Die Bedeutung jedes Symbols ist auf den verlinkten Seiten detailliert.
[bearbeiten] Präprozessoroperatoren
Präprozessoroperatoren werden vom Präprozessor erkannt.
[bearbeiten] # (einschließlich %:)
- Leitet eine Präprozessordirektive ein.
- Der Präprozessoroperator zur Stringifizierung.
[bearbeiten] ##(einschließlich %:%:)
[bearbeiten] Einzeichenoperatoren und Satzzeichen
[bearbeiten] { und } (einschließlich <% und %>)
- Definiert in einer Klassendefinition den Mitglieds-Spezifizierer.
- Definiert in einer Aufzählung-Definition die Aufzählungsliste.
- Definiert einen Block. Der Block kann Teil sein von
- einer Funktionsdefinition
- einem try-Block
|
(seit C++11) |
- Teil der Syntax der Aggregatinitialisierung(bis C++11)Listeninitialisierung(seit C++11) eines Initialisierers.
- Definiert in einer Namensraumdefinition den Namensraumkörper.
- Definiert in einer Sprachverknüpfungsangabe die Deklarationen.
|
(seit C++20) |
[bearbeiten] [ und ] (einschließlich <: und :>)
- Indexoperator; Teil von operator[] in der Operatorüberladung.
- Teil des Array-Deklarators in einer Deklaration oder einem Typ-ID (z. B. in einem new-Ausdruck).
- Teil des new[]-Operators in der Operatorüberladung (Allokationsfunktion).
- Teil des delete[]-Operators in einem delete-Ausdruck und der Operatorüberladung (Deallokationsfunktion).
|
(seit C++11) |
|
(seit C++17) |
|
(seit C++26) |
[bearbeiten] ( und )
- Gibt in einem Ausdruck die Gruppierung an.
- Funktionsaufrufoperator; Teil von operator() in der Operatorüberladung.
- Definiert in einer funktionsähnlichen Typumwandlung den Ausdruck/die Initialisierer.
- Definiert in einem
static_cast,const_cast,reinterpret_castoderdynamic_castden Ausdruck. - Definiert den Operanden der folgenden Operatoren
| (seit C++11) |
- Definiert in einem Platzierungs-new-Ausdruck die Platzierungsargumente.
- Definiert in einem new-Ausdruck optional den Typ-ID.
- Definiert in einem new-Ausdruck die Initialisierer.
- Definiert in einer C-artigen Typumwandlung den Typ-ID.
- Gibt in einer Deklaration oder einem Typ-ID die Gruppierung an.
- Definiert die Parameterliste in
- einem Funktionsdeklarator (in einer Deklaration oder einem Typ-ID)
|
(seit C++11) |
| (seit C++17) | |
|
(seit C++20) |
- Teil der Direktinitialisierungs-Syntax eines Initialisierers.
- Definiert in einer asm-Deklaration den Zeichenkettenliteral.
- Definiert in einer Member-Initialisierungsliste die Initialisierer für eine Basisklasse oder ein Mitglied.
- Definiert die Kontrollklausel einer Auswahl- oder Iterationsanweisung, einschließlich
| (seit C++11) |
- Definiert in einem Handler die Parameterdeklaration.
- Definiert in einer funktionsähnlichen Makrodefinition die Makroparameter.
- Definiert in einer funktionsähnlichen Makroaufrufung die Makroargumente oder verhindert, dass Kommas als Argumenttrenner interpretiert werden.
- Teil eines
defined,__has_include(seit C++17),__has_cpp_attribute(seit C++20) Präprozessoroperators.
|
(seit C++11) | ||
|
(seit C++14) | ||
|
(seit C++17) | ||
|
(seit C++20) |
[bearbeiten] ;
- Gibt das Ende von
- einer Anweisung
- einer Deklaration oder Mitgliedsdeklaration
|
(seit C++20) |
- Trennt die Bedingung und die Anweisung einer for-Anweisung.
[bearbeiten] :
- Teil des bedingten Operators.
- Teil einer Labeldeklaration.
- Führt in der Basisklasse-Klausel einer Klassendefinition die Basisklasse ein.
- Teil des Zugriffsspezifizierers in der Mitgliedsspezifikation.
- Führt in einer Bitfeld-Mitgliedsdeklaration die Breite ein.
- Führt in einer Konstruktor-Definition die Member-Initialisierungsliste ein.
|
(seit C++11) |
|
(seit C++17) |
|
(seit C++20) |
[bearbeiten] ?
- Teil des bedingten Operators.
[bearbeiten] .
|
(seit C++20) |
[bearbeiten] ~ (einschließlich compl)
- Bitweiser Komplementoperator (auch bitweises NICHT); Teil von operator~ in der Operatorüberladung.
- Teil eines Bezeichnerausdrucks zur Benennung eines Destruktors oder Pseudo-Destruktors.
[bearbeiten] ! (einschließlich not)
- Logischer NICHT-Operator; Teil von operator! in der Operatorüberladung.
|
(seit C++23) |
[bearbeiten] +
- Unärer Plusoperator; Teil von operator+ in der Operatorüberladung.
- Binärer Plusoperator; Teil von operator+ in der Operatorüberladung.
[bearbeiten] -
- Unärer Minusoperator; Teil von operator- in der Operatorüberladung.
- Binärer Minusoperator; Teil von operator- in der Operatorüberladung.
[bearbeiten] *
- Indirektionsoperator; Teil von operator* in der Operatorüberladung.
- Multiplikationsoperator; Teil von operator* in der Operatorüberladung.
- Zeigeroperator oder Teil eines Zeiger-auf-Mitglied-Operators in einem Deklarator oder in einem Typ-ID.
|
(seit C++17) |
[bearbeiten] /
- Divisionsoperator; Teil von operator/ in der Operatorüberladung.
[bearbeiten] %
- Modulooperator; Teil von operator% in der Operatorüberladung.
[bearbeiten] ^ (einschließlich xor)
- Bitweiser XOR-Operator; Teil von operator^ in der Operatorüberladung.
[bearbeiten] & (einschließlich bitand)
- Adressoperator; Teil von operator& in der Operatorüberladung.
- Bitweiser AND-Operator; Teil von operator& in der Operatorüberladung.
- Lvalue-Referenzoperator in einem Deklarator oder in einem Typ-ID.
|
(seit C++11) |
[bearbeiten] | (einschließlich bitor)
- Bitweiser OR-Operator; Teil von operator| in der Operatorüberladung.
[bearbeiten] =
- Einfacher Zuweisungsoperator; Teil von operator= in der Operatorüberladung, was eine spezielle Mitgliedsfunktion sein kann (Kopierzuweisungsoperatoroder Verschiebungszuweisungsoperator(seit C++11)).
- Teil der Kopierinitialisierungs und Aggregatinitialisierung(bis C++11)Kopierlisteninitialisierung(seit C++11)-Syntax eines Initialisierers.
- Führt in einer Funktionsdeklaration ein Standardargument ein.
- Führt in einer Template-Parameterliste ein Standard-Template-Argument ein.
- Trennt in einer Namensraum-Aliasdefinition den Alias vom verknüpften Namensraum.
- Führt in einer Enum-Definition den Wert eines Aufzählungselements ein.
- Teil des pure-Spezifizierers in einer rein virtuellen Funktionsdeklaration.
|
(seit C++11) |
|
(seit C++20) |
[bearbeiten] <
- Kleiner-als-Operator; Teil von operator< in der Operatorüberladung.
- Führt in einem
static_cast,const_cast,reinterpret_castoderdynamic_castden Typ-ID ein. - Leitet eine Template-Argumentliste ein.
- Leitet eine Template-Parameterliste ein in
- einer Template-Deklaration
- einer partiellen Spezialisierung
|
(seit C++20) |
- Teil von template<> in einer Template-Spezialisierungsdeklaration.
- Leitet einen Header-Namen ein in
- einer #include-Direktive
| (seit C++17) | |
|
(seit C++20) |
[bearbeiten] >
- Größer-als-Operator; Teil von operator> in der Operatorüberladung.
- Zeigt in einem
static_cast,const_cast,reinterpret_castoderdynamic_castdas Ende des Typ-IDs an. - Zeigt das Ende einer Template-Argumentliste an.
- Zeigt das Ende einer Template-Parameterliste an in
- einer Template-Deklaration
- einer partiellen Spezialisierung
|
(seit C++20) |
- Teil von template<> in einer Template-Spezialisierungsdeklaration.
- Zeigt das Ende eines Header-Namens an in
- einer #include-Direktive
| (seit C++17) | |
|
(seit C++20) |
[bearbeiten] ,
- Komma-Operator; Teil von operator, in der Operatorüberladung.
- Listentrennzeichen in
- der Deklaratorliste in einer Deklaration
- der Initialisierungsliste in der Initialisierung
- der Platzierungsargumentliste in einem Placement-new
- der Argumentliste in einem Funktionsaufrufausdruck
- der Aufzählungsliste in einer Enum-Deklaration
- der Basisklassenliste in einer Klassen-Deklaration
- der Member-Initialisierungsliste in einer Konstruktor-Definition
- einer Funktionsparameterliste
- einer Template-Parameterliste
- eine Template-Argumentenliste
|
(seit C++11) |
|
(seit C++17) |
|
(seit C++23) |
- die Makroparameterliste in einer funktion-ähnlichen Makrodefinition
- die Makroargumentliste in einer funktion-ähnlichen Makroaufrufung, es sei denn, sie befindet sich zwischen den Klammern eines Arguments
|
(seit C++11) |
[bearbeiten] Mehrzeichenoperatoren und Satzzeichen
[bearbeiten] ......
- In der Parameterliste eines Funktionsdeklaratorsoder Lambda-Ausdrucks(seit C++11)oder einer benutzerdefinierten Deduktionsanleitung(seit C++17), kennzeichnet eine variadische Funktion.
- In einem Handler, kennzeichnet einen Catch-All-Handler.
|
(seit C++11) |
|
(seit C++26) |
[bearbeiten] ::::
- Geltungsbereichsauflösungsoperator in
- einem qualifizierten Namen
- einer Zeiger-auf-Mitglied-Deklaration
- einem
new- oderdelete-Ausdruck, um anzuzeigen, dass nur globale Allokations- oder Deallokationsfunktionen gesucht werden
|
(seit C++11) |
|
(seit C++17) |
[bearbeiten] ..*
[bearbeiten] ->->
- Mitgliedszugriffsoperator; Teil von operator-> in der Operatorüberladung.
|
(seit C++11) |
|
(seit C++17) |
|
(seit C++20) |
[bearbeiten] ->*->*
- Zeiger-auf-Mitglied-Zugriffsoperator; Teil von operator->* in der Operatorüberladung.
[bearbeiten] +=+=
- Zusammengesetzter Zuweisungsoperator; Teil von operator+= in der Operatorüberladung.
[bearbeiten] -=-=
- Zusammengesetzter Zuweisungsoperator; Teil von operator-= in der Operatorüberladung.
[bearbeiten] * =*=
- Zusammengesetzter Zuweisungsoperator; Teil von operator*= in der Operatorüberladung.
[bearbeiten] /=/=
- Zusammengesetzter Zuweisungsoperator; Teil von operator/= in der Operatorüberladung.
[bearbeiten] %=%=
- Zusammengesetzter Zuweisungsoperator; Teil von operator%= in der Operatorüberladung.
[bearbeiten] ^= (einschließlich xor_eq)^=
- Zusammengesetzter Zuweisungsoperator; Teil von operator^= in der Operatorüberladung.
[bearbeiten] &= (einschließlich and_eq)&=
- Zusammengesetzter Zuweisungsoperator; Teil von operator&= in der Operatorüberladung.
[bearbeiten] |= (einschließlich or_eq)|=
- Zusammengesetzter Zuweisungsoperator; Teil von operator|= in der Operatorüberladung.
[bearbeiten] ====
- Gleichheitsoperator; Teil von operator== in der Operatorüberladung.
[bearbeiten] != (einschließlich not_eq)!=
- Ungleichheitsoperator; Teil von operator!= in der Operatorüberladung.
[bearbeiten] <=<=
- Kleiner-gleich-Operator; Teil von operator<= in der Operatorüberladung.
[bearbeiten] >=>=
- Größer-gleich-Operator; Teil von operator>= in der Operatorüberladung.
<=>
|
(seit C++20) |
[bearbeiten] && (einschließlich and)&&
- Logischer UND-Operator; Teil von operator&& in der Operatorüberladung.
|
(seit C++11) |
[bearbeiten] || (einschließlich or)||
- Logischer ODER-Operator; Teil von operator|| in der Operatorüberladung.
[bearbeiten] <<<
- Bitweiser Verschiebungsoperator; Teil von operator<< in der Operatorüberladung (Bitweiser Operator oder Stream-Einfügeoperator).
[bearbeiten] >> >>
- Bitweiser Verschiebungsoperator; Teil von operator>> in der Operatorüberladung (Bitweiser Operator oder Stream-Extraktionsoperator).
[bearbeiten] <<=<<=
- Zusammengesetzter Zuweisungsoperator; Teil von operator<<= in der Operatorüberladung.
[bearbeiten] >>= >>=
- Zusammengesetzter Zuweisungsoperator; Teil von operator>>= in der Operatorüberladung.
[bearbeiten] ++++
- Inkrementoperator; Teil von operator++ in der Operatorüberladung.
[bearbeiten] ----
- Dekrementoperator; Teil von operator-- in der Operatorüberladung.
[bearbeiten] Referenzen
- C++23 Standard (ISO/IEC 14882:2024)
- 5.12 Operatoren und Satzzeichen [lex.operators]
- C++20 Standard (ISO/IEC 14882:2020)
- 5.12 Operatoren und Satzzeichen [lex.operators]
- C++17 Standard (ISO/IEC 14882:2017)
- 5.12 Operatoren und Satzzeichen [lex.operators]
- C++14 Standard (ISO/IEC 14882:2014)
- 2.13 Operatoren und Satzzeichen [lex.operators]
- C++11 Standard (ISO/IEC 14882:2011)
- 2.13 Operatoren und Satzzeichen [lex.operators]
- C++03-Standard (ISO/IEC 14882:2003)
- 2.12 Operatoren und Satzzeichen [lex.operators]
- C++98 Standard (ISO/IEC 14882:1998)
- 2.12 Operatoren und Satzzeichen [lex.operators]
[bearbeiten] Siehe auch
| Alternative Darstellungen | alternative Schreibweisen für bestimmte Operatoren |
| C-Dokumentation für Satzzeichen
| |