[dcl.type.simple] (original) (raw)

[ Note

:

An injected-class-name is never interpreted as a template-namein contexts where class template argument deduction would be performed ([temp.local]).

end note

]

The othersimple-type-specifiersspecify either a previously-declared type, a type determined from an expression, or one of the fundamental types ([basic.fundamental]).

Table 14 summarizes the valid combinations ofsimple-type-specifiersand the types they specify.

Table 14: simple-type-specifiers and the types they specify [tab:dcl.type.simple]

Specifier(s) Type
type-name the type named
simple-template-id the type as defined in [temp.names]
decltype-specifier the type as defined in [dcl.type.decltype]
placeholder-type-specifier the type as defined in [dcl.spec.auto]
template-name the type as defined in [dcl.type.class.deduct]
char “char”
unsigned char “unsigned char”
signed char “signed char”
char8_­t “char8_­t”
char16_­t “char16_­t”
char32_­t “char32_­t”
bool “bool”
unsigned “unsigned int”
unsigned int “unsigned int”
signed “int”
signed int “int”
int “int”
unsigned short int “unsigned short int”
unsigned short “unsigned short int”
unsigned long int “unsigned long int”
unsigned long “unsigned long int”
unsigned long long int “unsigned long long int”
unsigned long long “unsigned long long int”
signed long int “long int”
signed long “long int”
signed long long int “long long int”
signed long long “long long int”
long long int “long long int”
long long “long long int”
long int “long int”
long “long int”
signed short int “short int”
signed short “short int”
short int “short int”
short “short int”
wchar_­t “wchar_­t”
float “float”
double “double”
long double “long double”
void “void”

When multiple simple-type-specifiers are allowed, they can be freely intermixed with other decl-specifiers in any order.

[ Note

:

It is implementation-defined whether objects of char type are represented as signed or unsigned quantities.

The signed specifier forces char objects to be signed; it is redundant in other contexts.

end note

]