Поиск…


ИНТ

Обозначает целочисленный тип со знаком с «естественным размером, предложенным архитектурой среды исполнения», диапазон которого включает, по меньшей мере, от -32767 до +32767 включительно.

int x = 2;
int y = 3;
int z = x + y;

Может комбинироваться с unsigned , short , long и long long (qv) для получения других целочисленных типов.

BOOL

Целочисленный тип, значение которого может быть true или false .

bool is_even(int x) {
    return x%2 == 0;
}
const bool b = is_even(47); // false

голец

Целочисленный тип, который «достаточно велик для хранения любого элемента базового набора символов реализации». Определяется реализация, независимо от того, подписан ли char (и имеет диапазон от -127 до +127 включительно) или без знака (и имеет диапазон от 0 до 255 включительно).

const char zero = '0';
const char one = zero + 1;
const char newline = '\n';
std::cout << one << newline; // prints 1 followed by a newline

char16_t

C ++ 11

Беззнаковый целочисленный тип с таким же размером и выравниванием, что и uint_least16_t , поэтому он достаточно велик, чтобы содержать код UTF-16.

const char16_t message[] = u"你好,世界\n";            // Chinese for "hello, world\n"
std::cout << sizeof(message)/sizeof(char16_t) << "\n"; // prints 7

char32_t

C ++ 11

Беззнаковый целочисленный тип с таким же размером и выравниванием, что и uint_least32_t , поэтому он достаточно велик, чтобы содержать код UTF-32.

const char32_t full_house[] = U"🂣🂳🂨🂸🃈";               // non-BMP characters
std::cout << sizeof(full_house)/sizeof(char32_t) << "\n"; // prints 6

поплавок

Тип с плавающей точкой. Имеет самый узкий диапазон из трех типов с плавающей точкой в ​​C ++.

float area(float radius) {
    const float pi = 3.14159f;
    return pi*radius*radius;
}

двойной

Тип с плавающей точкой. Его диапазон включает в себя float . В сочетании с long означает long double тип с плавающей запятой, диапазон которого включает double .

double area(double radius) {
    const double pi = 3.141592653589793;
    return pi*radius*radius;
}

долго

Обозначает целочисленный целочисленный тип, который, по меньшей мере, длинный int , и диапазон которого включает в себя по меньшей мере от -2147483647 до +2147483647, включительно (то есть - (2 ^ 31 - 1) до + (2 ^ 31 - 1)). Этот тип также может быть записан как long int .

const long approx_seconds_per_year = 60L*60L*24L*365L;

Комбинация long double обозначает тип с плавающей точкой, который имеет самый широкий диапазон из трех типов с плавающей запятой.

long double area(long double radius) {
    const long double pi = 3.1415926535897932385L;
    return pi*radius*radius;
}
C ++ 11

Когда long спецификатор происходит дважды, как в long long , он обозначает целочисленный тип со знаком, который, по меньшей мере, long , и диапазон которого включает в себя по меньшей мере -9223372036854775807 до +9223372036854775807 включительно (то есть - (2 ^ 63 - 1) до + (2 ^ 63 - 1)).

// support files up to 2 TiB
const long long max_file_size = 2LL << 40;

короткая

Обозначает целочисленный тип со знаком, который, по меньшей мере, длиннее char , и диапазон которого включает, по меньшей мере, от -32767 до +32767 включительно. Этот тип также может быть записан как short int .

// (during the last year)
short hours_worked(short days_worked) {
    return 8*days_worked;
}

недействительным

Неполный тип; невозможно, чтобы объект имел тип void , и нет массивов void или ссылок на void . Он используется как возвращаемый тип функций, которые ничего не возвращают.

Более того, функция может быть избыточно объявлена ​​с помощью одного параметра типа void ; это эквивалентно объявлению функции без параметров (например, int main() и int main(void) объявляют одну и ту же функцию). Этот синтаксис разрешен для совместимости с C (где объявления функций имеют другое значение, чем в C ++).

Тип void* ("pointer to void ") обладает тем свойством, что любой указатель объекта может быть преобразован в него и обратно и в результате будет иметь тот же указатель. Эта функция делает тип void* подходящим для определенных типов (типа небезопасных) типов стирающих интерфейсов, например, для общих контекстов в API-интерфейсах C-стиля (например, qsort , pthread_create ).

Любое выражение может быть преобразовано в выражение типа void ; это называется выражением отбрасываемого значения :

static_cast<void>(std::printf("Hello, %s!\n", name));  // discard return value

Это может быть полезно явно указывать на то, что значение выражения не представляет интереса и что выражение должно оцениваться только для его побочных эффектов.

wchar_t

Целочисленный тип, достаточно большой для представления всех символов самого большого поддерживаемого расширенного набора символов, также известного как широкосимвольный набор. (Нельзя использовать предположение, что wchar_t использует какую-либо конкретную кодировку, такую ​​как UTF-16.)

Он обычно используется, когда вам нужно хранить символы по ASCII 255, так как он имеет больший размер, чем символ типа char .

const wchar_t message_ahmaric[] = L"ሰላም ልዑል\n"; //Ahmaric for "hello, world\n"
const wchar_t message_chinese[] = L"你好,世界\n";// Chinese for "hello, world\n"
const wchar_t message_hebrew[]  = L"שלום עולם\n"; //Hebrew for "hello, world\n"
const wchar_t message_russian[] = L"Привет мир\n";  //Russian for "hello, world\n"
const wchar_t message_tamil[]   = L"ஹலோ உலகம்\n"; //Tamil for "hello, world\n"


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow