Eine der Verwendungen von ...
besteht darin, verschiedene Entitäten in C und C ++ zu bezeichnen.
Was ist sein Name?
Wird es auf diese Weise als Operator oder als etwas anderes klassifiziert?
Weitere Details zu ...
?
Edit:
Ich kenne den Zweck von ...
. Ich frage nach dem Namen und der Klassifizierung, von denen ich hoffe, dass sie sowohl in C als auch in C ++ ähnlich sind.
Antworten:
Es ist einer der Interpunktionszeichen .
In der Funktionsdeklaration heißt es Ellipse .
Ellipsis wird auch von einigen Compiler-
C
Spracherweiterungen verwendet. Beispiel - Erweiterung des GCC-Schalters / Gehäusebereichshttps://godbolt.org/z/YBLma-
quelle
...
ist nicht eine Bedienungsperson , weil sie nicht Teil eines bilden kann Ausdruck (im Sinne von ‚Ausdruck‘ , definiert durch C11 §6.5 ). Es hat mehr mit{
}
und;
als mit den anderen Interpunktionszeichen gemeinsam....
Teil eines Ausdrucks sein. In der formalen Syntax wird es jedoch nicht als Operator betrachtet .Das
...
wird sowohl im Englischen als auch im C-Standard als Ellipse bezeichnet .quelle
Ja, in Laienbegriffen
...
kann man sich vorstellen, dass es mehr als ein oder mehrere (wie bei der Pseudocode-Interpunktion verwenden wir manchmal mehrere Punkte, um verschiedenen Typen zu ähneln) eines Anwendungsfalls bezeichnet, für den, wenn wir Variadics betrachten (im Sinne mehrere) von 'variierenden' Argumenten / Parametern) in C ++ würde es sich auf eine variable Anzahl von Argumenten für Funktionen oder Vorlagen beziehen.Ellipse
Nein, es ist definitiv kein Operator , wie es Ihnen erlaubt passieren beliebige Anzahl von Argumenten, nicht arbeiten auf ihnen.
Soweit ich weiss -
sizeof
Bediener verwendet werden, da es auch als Pack-Erweiterung klassifiziert ist.Der Name ist derselbe, die Verwendung kann jedoch für C ++ und C variieren.
Bin nur mit seiner Verwendung in der früheren Sprache vertraut. (Ich erinnere mich an ein HackerRank-Problem bei Variadics , das dessen Nützlichkeit abdeckt.)
quelle
Die Folge von drei Punkten wird sowohl in C als auch in C ++
...
als Ellipse bezeichnetIn C ++ hilft die Ellipse beim Initialisieren und Erweitern verschiedener Arten von Paketen .
A
parameter pack
- wenn zwischen dem Typ und dem Bezeichner eine Ellipse stehtType ... identifier
A
pack expansion
- besteht aus einem Muster und einer Ellipsepattern...
quelle