2014-04-10 11 views
6

In Abschnitt 6.4.1 des C11-Standard erscheint ein Sternchen in der Liste der Schlüsselwörter:Ist `*` (das Sternchen) ein Schlüsselwort in C11?

keyword: one of 
    auto  ∗ if  unsigned 
    break  inline void 
    ... 

Ist dies darauf hindeuten, dass * ein Schlüsselwort?

Wenn nicht, was nützt es hier?

+4

Es ist kein Schlüsselwort, sondern ein überladener Operator. –

+2

@leeduhem Die Frage bezieht sich auf die C11-Spezifikation, nicht die C++ 11-Spezifikation. –

+1

@JefferyThomas In C hat '*' auch mehrere Funktionen, mit anderen Worten, es ist ein eingebauter überladener Operator. –

Antwort

8

Es ist ein Diff-Zeichen.

In der Zusammenfassung (S. 1) von N1570:

Änderungen aus dem vorherigen Entwurf (N1539) werden durch '' diff Marken '' in der rechten Rand angegeben: gelöschten Text mit 'markiert '*' ', Neuer oder geänderter Text mit' '' '.

Im N1539 Entwurf, alignof war ein Stichwort, auf der ersten Zeile dieser Tabelle erscheint:

N1750 fiel alignof und ersetzte sie durch _Alignof.

Die Platzierung des "*" scheint etwas seltsam, aber es bezieht sich definitiv nicht auf den Operator *.

+0

Warum erscheint es neben 'if'? – Thanatos

+0

@Thanatos: Ich habe die Antwort aktualisiert, um das zu adressieren. –

+0

@KeithThompson Vielen Dank für Ihre Verbesserung. –

Verwandte Themen