簡單的型別名稱
簡單的型別名稱是簡單的型別名稱。 也就是不是指標,型別會參考時,陣列,或函式指標。
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 |
Type signed implies signed int. 型別之物件的最大顯著性位元signed char ,並帶正負號的整數類資料型別的位元欄位會被取為正負號位元。 |
unsigned |
char、short、int 或 long |
Type unsigned implies unsigned int. 型別之物件的最大顯著性位元unsigned char和不帶正負號的整數類資料型別的位元欄位不會被視為正負號位元。 |