Nazwy typów prostych
Nazwa typu prostego jest nazwą typu prostego.Oznacza to, że typ, który nie jest wskaźnik, odwołać tablicy lub działać wskaźnik.
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 )
Uwagi
Kwalifikacje nazwa typu prostego mogą być zagnieżdżone nazwa specyfikatora, wskazując obszar nazw lub zawierające klasy.
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)
W poniższej tabeli przedstawiono, jak nazwy typu prostego mogą być używane razem.
Kombinacji nazwy typu
Typ |
Mogą być wyświetlane z |
Komentarze |
---|---|---|
int |
longlub short, ale nie oba na raz |
Typ int pociąga za sobą typu long int. |
long |
intlubdouble |
Typ long pociąga za sobą typu long int. |
short |
int |
Typ short pociąga za sobą typu short int. |
signed |
char, short, int, orlong |
Type signed implies signed int.Najbardziej znaczący bit obiekty typu signed char i pól bitowych podpisane typów integralną przyjmuje się bitem znaku. |
unsigned |
char, short, int, orlong |
Type unsigned implies unsigned int.Najbardziej znaczący bit obiekty typu unsigned char i pól bitowych niepodpisane integralną typów nie jest traktowana jako bitem znaku. |