Jednoduché typy názvů
Název jednoduchého typu je název patřící jednoduchému typu. Jednoduchým typem je typ, který není ukazatelem, referencí, polem nebo ukazatelem na funkci.
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 )
Poznámky
Název jednoduchého typu může být kvalifikován specifikátorem vnořeného názvu, který naznačuje obor názvů nebo třídu, která název obsahuje.
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)
Následující tabulka ukazuje, jak mohou být názvy jednoduchých typů kombinovány.
Kombinace názvů typů
Type |
Lze uvést spolu s |
Komentáře |
---|---|---|
int |
long nebo short, ale nikoli obojí. |
Typ int znamená typ long int. |
long |
int nebo double |
Typ long znamená typ long int. |
short |
int |
Typ short znamená typ short int. |
signed |
char, short, int, nebo long |
Typ signed znamená typ signed int.Nejvýznamnější bit objektů typu signed char a bitová pole celočíselných typů se znaménkem jsou považovány za bit znaménka. |
unsigned |
char, short, int, nebo long |
Typ unsigned znamená typ unsigned int.Nejvýznamnější bit objektů typu unsigned char a bitová pole celočíselných typů bez znaménka nejsou zpracována jako bit znaménka. |