Namen
identifier
qualified-name
operator-function-name
conversion-function-name
~ class-name
template-identifier
template name
qualified-class-name :: template name
Hinweise
Jeder Bezeichner , der deklariert wurde, ist ein Name.Ein qualifizierter Name ist ein Name, der dem Bereichsauflösungsoperator besteht.Zeigen Sie qualifizierte Namen.
OPERATOR-FUNCTION Zeichenname ist ein Name, der in der Form deklariert ist.
OPERATOROperator NAME**(**argument1 [ und argument2);]
Weitere Informationen finden Sie unter Überladene Operatoren Informationen zu Deklaration von OPERATOR-FUNCTION NAME.
Konvertierung-FUNCTION Zeichenname ist ein Name, der in der Form deklariert ist.
operatorTypname**()**
Hinweis |
---|
Sie können einen abgeleiteten char * wie Typnamen anstelle des Typnamens angeben, wenn Sie eine Konvertierungsfunktion deklarieren. |
Konvertierungsfunktions stellt konvertierungen in und aus benutzerdefinierten Typen.Weitere Informationen über vom Benutzer bereitgestellten Konvertierungen finden Sie unter Konvertierungsfunktionen.
Ein Name, der als ~ Klassenname deklariert wird, wird als „Destruktor“ für Objekte eines Klassentyps übernommen.Destruktoren führen in der Regel Bereinigungsvorgänge am Ende der Lebensdauer eines Objekts aus.Weitere Informationen über Destruktoren finden Sie unter Destruktoren.
Es gibt auch einige Formen von Namen, Funktionen und Vorlagen Typen für Vorlagen verwendet werden.
Vorlagenklassen den Bezeichner der Vorlagen stellen ein, der von den Winkelstützen folgt, die die Vorlagenargumentliste einschließen, die Typen und Ausdrücke enthält, je nachdem, wie die Vorlage deklariert wurde.Beispiele für TEMPLATE Bezeichnern stehen:
A<int> // class A takes a type as a template argument
A<int, char> // class A takes two types as template arguments
A<4> // class A takes an int as a template argument
A<> // class A is a template with a default argument
Qualifizierte Namen von Vorlagen Funktionen enthalten möglicherweise das Schlüsselwort Vorlagen.Das Schlüsselwort ist in Vorlagen ermöglicht einem Namen, es sei denn, die vom Bereichsauflösungsoperator vom vorangestellt - > vom Operator Operator . oder eines qualifizierten Namen.Die folgenden Namen von Funktionen:
::template f<int> // f is a global template function
A::template g<100> //g is a template member function of class A
Entsprechend kann der Name einer Klassenvorlage mithilfe von Vorlagen schlüsselworts angegeben werden, wenn er von der Bereichsauflösung und qualifiziertem Namen vorangestellt ist.Die folgenden Namen von Typen:
::template A<int> // equivalent to A<int>
Outer::template Inner<int> // equivalent to Outer::Inner<int>
Weitere Informationen zu Vorlagen finden Sie unter Vorlagen.