Nazwy
identifier qualified-name operator-function-name conversion-function-name ~ class-name template-identifier template name qualified-class-name :: template name
Uwagi
Dowolny zadeklarowany identifier jest name.Nazwa kwalifikowana jest nazwą składającą się z operatora rozwiązania zakresu.Zobacz qualified names.
operator-function-name jest nazwą, która jest zadeklarowana w postaci
operator operator-name**(** argument1 [ , argument2] );
Zobacz Przeciążone operatory, aby uzyskać więcej informacji dotyczących deklaracji operator-function-name.
conversion-function-name jest nazwą zadeklarowaną w postaci
operator type-name**(** )
[!UWAGA]
Można podać nazwę pochodnego typu, takiego jak char * w miejsce type-name podczas deklarowania funkcji konwersji.
Funkcje konwersji dostarczają konwersji do i z typów zdefiniowanych przez użytkownika.Aby uzyskać więcej informacji o konwersji podanego przez użytkownika, zobacz Konwersje.
Nazwa zadeklarowana jako ~ class-name jest traktowana jako „destruktor” dla obiektów typu klasy.Destruktory zazwyczaj przeprowadzają operacje czyszczenia pod koniec okresu istnienia obiektu.Aby uzyskać informacje dotyczące destruktorów, zobacz Destruktory.
Istnieje również kilka postaci nazw używanych dla typów szablonów i funkcji szablonów.
Identyfikatory szablonów zawierają nazwę klasy szablonu, po której występuje nawias ostry otaczający listę argumentów szablonu, która może zawierać typy i wyrażenia, w zależności od sposobu, w jaki szablon został zadeklarowany.Przykłady template-identifers obejmują:
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
Nazwy kwalifikowane funkcji szablonu mogą zawierać słowo kluczowe szablonu.Słowo kluczowe szablonu jest niedozwolona w nazwę, chyba że poprzedzone operatora rozwiązania zakres i -> operatora i . operator lub kwalifikowana nazwa.Nazwy funkcji są następujące:
::template f<int> // f is a global template function
A::template g<100> //g is a template member function of class A
Podobnie, nazwa szablonu klasy może być określona za pomocą słowa kluczowego szablonu, jeśli jest poprzedzona rozwiązaniem zakresu lub nazwą kwalifikowaną.Nazwy typów są następujące:
::template A<int> // equivalent to A<int>
Outer::template Inner<int> // equivalent to Outer::Inner<int>
Aby uzyskać więcej informacji dotyczących szablonów, zobacz Szablony.