简单类型名称

简单类型名称是一个简单的类型的名称。 即不是指针的类型,引用,、或函数指针。

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类型说明符