簡單類型名稱
簡單類型名稱就是簡單類型的名稱。也就是說,該類型不是指標、參考、陣列或函式指標。
class-name
[ :: ] nested-name-specifier type-name
[ :: ] nested-name-specifier template template-id
char
wchar_t
bool
short
int
long
signed
unsigned
float
double
void
auto
decltype ( expression )
備註
簡單類型名稱可藉由巢狀名稱規範限定,表示命名空間或包含類別。
int // simple type name
unsigned int // combination of simple type names
MyClass // a class type
class MyClass // class is optional when using the type name
struct MyStruct // the keyword struct is optional in C++
enum MyEnum // the keyword enum is optional in C++
::MyClass // type name at global scope
Outer::Inner // nested type name
::Outer::Inner // nested type names with global scope operator
MyTemplate<int> // a class template
Outer::Inner<int> // an inner class template
Outer<char>::Inner<int> // an inner class template of a template class
::template MyTemplate<int> // using the template keyword
typename MyClass // the typename keyword (only in a template definition)
下表說明如何搭配使用簡單類型名稱。
類型名稱組合
類型 |
可以搭配 |
註解 |
---|---|---|
int |
long 或 short,但不可同時 |
int 類型表示 long int 類型。 |
long |
int 或 double |
long 類型表示 long int 類型。 |
short |
int |
short 類型表示 short int 類型。 |
signed |
char、short、int 或 long |
signed 類型表示 signed int 類型。 signed char 類型物件以及帶正負號整數類資料類型之位元欄位的最高有效位元,會當做正負號位元。 |
unsigned |
char、short、int 或 long |
unsigned 類型表示 unsigned int 類型。 unsigned char 類型物件以及不帶正負號整數類資料類型之位元欄位的最高有效位元,不會當做正負號位元。 |