名稱
identifier
qualified-name
operator-function-name
conversion-function-name
~ class-name
template-identifier
template name
qualified-class-name :: template name
備註
任何識別項 的宣告是 名稱。 限定的名稱是由使用範圍解析運算子所組成的名稱。 請參閱限定的名稱。
運算子函式名稱是一個在表單中宣告的名稱
operator operator-name**(** argument1**,** argument2**);**
請參閱多載運算子 如需有關的宣告 運算子函式名稱。
A 轉換函式名稱是一個在表單中宣告的名稱
operator type-name**(** )
![]() |
---|
您可以提供衍生的型別名稱,例如 char * 的型別名稱宣告轉換函式時。 |
轉換函式會提供使用者定義型別轉換。 如需有關使用者提供的轉換的詳細資訊,請參閱型別轉換函數。
名稱宣告為~類別名稱會被視為解構函式"開始"類別型別的物件。 解構函式通常會在物件的存留期結束執行清除作業。 解構函式上的資訊,請參閱解構函式。
另外還有數個表單的範本類型和樣板函式使用的名稱。
範本識別項包含樣板類別名稱,後面接著封入樣板引數清單,其中可能包括型別和運算式,取決於如何宣告範本的所有在角括弧。 範例的範本 identifers 是:
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
樣板函式的完整的名稱可能包含範本關鍵字。 範圍解析運算子,如果前導,名稱中不允許範本關鍵字 -> 運算子, . 運算子或限定的名稱。 以下是函式的名稱:
::template f<int> // f is a global template function
A::template g<100> //g is a template member function of class A
同樣地,在類別樣板的名稱可以指定使用範本關鍵字,如果範圍解析前面有或限定名稱。 型別的名稱如下:
::template A<int> // equivalent to A<int>
Outer::template Inner<int> // equivalent to Outer::Inner<int>
如需有關範本的詳細資訊,請參閱範本。