Nomes de tipo simples
Um nome de tipo simples é o nome de um tipo simples.Ou seja, um tipo que não é um ponteiro, fazer referência a matriz ou o ponteiro de função.
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 )
Comentários
Um nome de tipo simples pode ser qualificado por um aninhados--especificador de nome, indicando o namespace ou que contém a classe.
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)
A tabela a seguir mostra como os nomes de tipo simples podem ser usados juntos.
Combinações de nome de tipo
Tipo |
Pode aparecer com |
Comentários |
---|---|---|
int |
longou short, mas não ambos |
Tipo de int indica o tipo de long int. |
long |
intoudouble |
Tipo de long indica o tipo de long int. |
short |
int |
Tipo de short indica o tipo de short int. |
signed |
char, short, int, ou long |
Type signed implies signed int.O bit mais significativo de objetos do tipo signed char e campos de bits de tipos integrais assinados é considerada como o bit de sinal. |
unsigned |
char, short, int, ou long |
Type unsigned implies unsigned int.O bit mais significativo de objetos do tipo unsigned char e campos de bits de tipos integrais sem assinatura não é tratado como o bit de sinal. |