共用方式為


簡單類型名稱

簡單類型名稱就是簡單類型的名稱。也就是說,該類型不是指標、參考、陣列或函式指標。

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 類型物件以及不帶正負號整數類資料類型之位元欄位的最高有效位元,不會當做正負號位元。

請參閱

參考

C++ 類型規範

auto 關鍵字 (類型推斷)

decltype 類型規範