Имена простого типа

Имя простого типа, имя простого типа.То есть тип, который не является указателем указателя, ссылки массива или функции.

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 битовые поля и неподписанных целочисленных типов не следует обрабатывать как бит знака.

См. также

Ссылки

Описатели типа C++

автоматическое ключевое слово (вычет тип)

описатель типа decltype