Nomi di tipi semplici
Un nome di tipo semplice è il nome di un tipo semplice. Ovvero un tipo che non è un puntatore, un riferimento, una matrice o un puntatore a funzione.
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 )
Note
Un nome di tipo semplice può essere qualificato da un identificatore con nome annidato, che indica lo spazio dei nomi o che contiene la 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)
Nella tabella seguente mostra come i nomi di tipo semplice possono essere utilizzati insieme.
Combinazioni di nome del tipo
Type |
Può essere visualizzato con |
Commenti |
---|---|---|
int |
long o short, ma non entrambi |
Il tipo int implica il tipo long int. |
long |
int o double |
Il tipo long implica il tipo long int. |
short |
int |
Il tipo short implica il tipo short int. |
signed |
char, short, int o long |
Il tipo signed implica signed int. Il bit più significativo di oggetti di tipo signed char e i campi di bit dei tipi integrali con segno viene sono ricavati dal bit del segno. |
unsigned |
char, short, int o long |
Il tipo unsigned implica unsigned int. Il bit più significativo di oggetti di tipo unsigned char e i campi di bit dei tipi integrali senza segno non sono trattati come bit del segno. |