Имена простого типа
Имя простого типа, имя простого типа.То есть тип, который не является указателем указателя, ссылки массива или функции.
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 )
Заметки
Имя простого типа может быть уточнено гнездить-имя-описателем, указывающее, содержащий пространство имен или класс.
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)
В следующей таблице показано, как имена простого типа можно использовать совместно.
Сочетание имени типа
Тип |
Может появиться с |
Комментарии |
---|---|---|
int |
long OR short, но не оба |
тип int указывает тип long int. |
long |
int или double |
тип long указывает тип long int. |
short |
int |
тип short указывает тип short int. |
signed |
char, short, int или long |
тип signed неявно signed int.Дополнительные всего-значительно объектов типа bit signed char и битовые поля подписанных целочисленных типов предпринимаемые для быть битом знака. |
unsigned |
char, short, int или long |
тип unsigned неявно unsigned int.Дополнительные всего-значительно объектов типа bit unsigned char битовые поля и неподписанных целочисленных типов не следует обрабатывать как бит знака. |