Фундаментальные типы (C++)

Основные типы в С++ делятся на три категории: целочисленные, с плавающей запятой и void. Целочисленные типы позволяют обрабатывать целые числа. Типы с плавающей запятой позволяют задавать значения, которые могут иметь дробные части.

Типом void описывается пустой набор значений. Задание переменных типа void невозможно. Этот тип служит в основном для объявления функций, не возвращающих значения, или универсальных указателей на нетипизированные или произвольно типизированные данные. Любое выражение можно явно преобразовать или привести к типу void. Однако такие выражения можно использовать только в следующих операторах и операндах:

В следующей таблице объясняются ограничения на размеры типов. Эти ограничения не зависят от реализации Microsoft.

Основные типы языка C++

Категория

Тип

Описание

Целые числа

char

char — это целочисленный тип, обычно содержащий члены кодировки выполнения (в Microsoft C++ это кодировка ASCII).

 

 

Компилятор C++ обрабатывает переменные типа char, signed char и unsigned char как переменные разных типов. Переменные типа char повышаются до типа int, как если бы по умолчанию они имели тип signed char, если не используется параметр компиляции /J. В этом случае они рассматриваются как тип unsigned char и повышаются до типа int без расширения знака.

 

bool

bool — это целочисленный тип, который может иметь одно из двух значений: true или false. Его размер не определен.

 

short

short int (или просто short) — это целочисленный тип, размер которого больше или равен размеру типа char и меньше или равен размеру типа int.

 

 

Объекты типа short могут объявляться как объекты типа signed short и unsigned short. Signed short — синоним short.

 

int

int — это целочисленный тип, размер которого больше или равен размеру типа short int и меньше или равен размеру типа long.

 

 

Объекты типа int могут объявляться как объекты типа signed int и unsigned int. Signed int — синоним int.

 

__intn

Целое число с указанием размера, где n — размер в битах целочисленной переменной. Значение n может быть 8, 16, 32 или 64 (__intn — ключевое слово для систем Microsoft).

 

long

long (или long int) — это целочисленный тип, размер которого больше или равен размеру типа int.

 

 

Объекты типа long могут объявляться как объекты типа signed long и unsigned long. Signed long — синоним long.

long long

Больше, чем unsigned long.

Объекты типа long long могут объявляться как объекты типа signed long long и unsigned long long. Signed long long — синоним long long.

Числа с плавающей запятой

float

float — это тип с плавающей запятой наименьшего размера.

 

double

double — это тип с плавающей запятой, размер которого больше или равен размеру типа float, но меньше или равен размеру типа long double.

 

long double1

long double — это тип с плавающей запятой, размер которого равен размеру типа double.

Расширенные символы

__wchar_t

Переменная типа __wchar_t обозначает расширенный символьный или многобайтовый символьный тип. По умолчанию тип wchar_t является собственным типом, но можно использовать /Zc: wchar_t-, чтобы сделать wchar_t определением типа для unsigned short.

Чтобы указать константу расширенного символьного типа, перед символьной или строковой константой следует использовать префикс L.

1   Представления long double и double идентичны. Однако типы long double и double — это отдельные типы.

Блок, относящийся только к системам Microsoft

В следующей таблице указаны объемы памяти, необходимые для основных типов в Microsoft C++.

Размеры основных типов

Тип

Размер

bool

1 байт

char, unsigned char, signed char

1 байт

short, unsigned short

2 байта

int, unsigned int

4 байта

__intn

8, 16, 32, 64 или 128 бит в зависимости от значения n. __intn относится только к системам Microsoft.

long, unsigned long

4 байта

float

4 байта

double

8 байт

long double1

8 байт

длинное длинное

Аналогично параметру __int64.

1   Представления long double и double идентичны. Однако типы long double и double — это отдельные типы.

Завершение блока, относящегося только к системам Microsoft

Сводку по диапазонам значений каждого типа см. в разделе Диапазоны типов данных.

Дополнительные сведения о преобразовании типов см. в разделе Стандартные преобразования.

См. также

Ссылки

Диапазоны типов данных

Другие ресурсы

Types