Sök…


int

Betecknar en signerad heltalstyp med "den naturliga storleken som föreslås av exekveringsmiljöns arkitektur", vars intervall inkluderar minst -32767 till +32767, inklusive.

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

Kan kombineras med unsigned , short , long och long long (qv) för att ge andra heltalstyper.

bool

En heltalstyp vars värde kan vara antingen true eller false .

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

röding

En heltalstyp som är "tillräckligt stor för att lagra alla medlemmar i implementeringens grundläggande teckenuppsättning". Det är implementeringsdefinierat huruvida char är signerad (och har ett intervall från minst -127 till +127, inklusive) eller osignerad (och har ett intervall från minst 0 till 255 inklusive).

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

En osignerad heltalstyp med samma storlek och justering som uint_least16_t , som därför är tillräckligt stor för att ha en UTF-16-kodenhet.

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

En osignerad heltalstyp med samma storlek och justering som uint_least32_t , som därför är tillräckligt stor för att ha en UTF-32-kodenhet.

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

flyta

En flytande punkttyp. Har det smalaste intervallet av de tre flytande punkttyperna i C ++.

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

dubbel-

En flytande punkttyp. Dess sortiment inkluderar float . När den kombineras med long , anger den long double flytande punkttypen, vars intervall inkluderar det double .

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

lång

Betecknar en signerad heltalstyp som är minst så lång som int , och vars intervall inkluderar minst -2147483647 till +2147483647, inklusive (det vill säga - (2 ^ 31 - 1) till + (2 ^ 31 - 1)). Denna typ kan också skrivas så long int .

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

Kombinationen long double betecknar en flytande punkttyp, som har det bredaste intervallet av de tre flytande punkttyperna.

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

När den long specifikatorn inträffar två gånger, som i long long , anger den en signerad heltalstyp som är minst lika lång som long , och vars intervall inkluderar minst -9223372036854775807 till +9223372036854775807, inklusive (det vill säga - (2 ^ 63 - 1) till + (2 ^ 63 - 1)).

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

kort

Betecknar en signerad heltalstyp som är minst så lång som char , och vars intervall inkluderar minst -32767 till +32767, inklusive. Denna typ kan också skrivas som short int .

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

tomhet

En ofullständig typ; det är inte möjligt för ett objekt att ha ett void , och det finns inte heller några uppsättningar av void eller hänvisningar till void . Det används som returtyp för funktioner som inte returnerar någonting.

Dessutom kan en funktion redundant deklareras med en enda parameter av typen void . detta motsvarar att deklarera en funktion utan parametrar (t.ex. int main() och int main(void) förklarar samma funktion). Denna syntax tillåts för kompatibilitet med C (där funktionsdeklarationer har en annan betydelse än i C ++).

Typen void* ("pekare till void ") har den egenskapen att alla objektpekare kan konverteras till den och tillbaka och resultera i samma pekare. Den här funktionen gör att typen är void* lämplig för vissa typer av (typ-osäkra) typ-radering av gränssnitt, till exempel för generiska sammanhang i C-stil API: er (t.ex. qsort , pthread_create ).

Vilket uttryck som helst kan konverteras till ett uttryck av void ; detta kallas ett kasserat värde-uttryck :

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

Detta kan vara användbart för att uttryckligen signalera att värdet på ett uttryck inte är av intresse och att uttrycket endast ska utvärderas för dess biverkningar.

wchar_t

En heltalstyp som är tillräckligt stor för att representera alla tecken i den största stödda utvidgade teckenuppsättningen, även känd som bredteckenuppsättningen. (Det är inte portabelt att wchar_t att wchar_t använder någon speciell kodning, t.ex. UTF-16.)

Det används normalt när du behöver lagra tecken över ASCII 255, eftersom det har en större storlek än karaktärsteckens 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow