Zoeken…


int

Geeft een geheel getal met teken aan met "de natuurlijke grootte voorgesteld door de architectuur van de uitvoeringsomgeving", waarvan het bereik ten minste -32767 tot en met +32767 omvat.

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

Kan worden gecombineerd met unsigned , short , long en long long (qv) om andere typen gehele getallen op te leveren.

bool

Een geheel getal waarvan de waarde true of false .

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

verkolen

Een geheel getal dat "groot genoeg is om elk lid van de basistekenset van de implementatie op te slaan". Het wordt door de implementatie bepaald of char is ondertekend (en heeft een bereik van minimaal -127 tot en met +127, inclusief) of niet ondertekend (en heeft een bereik van minimaal 0 tot en met 255, inclusief).

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

Een geheel getal zonder teken met dezelfde grootte en uitlijning als uint_least16_t , dat daarom groot genoeg is om een UTF-16-code-eenheid te bevatten.

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

Een niet-ondertekend geheel getal met dezelfde grootte en uitlijning als uint_least32_t , dat daarom groot genoeg is om een UTF-32-code-eenheid te bevatten.

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

vlotter

Een drijvend punttype. Heeft het smalste bereik van de drie drijvende-komma types in C ++.

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

dubbele

Een drijvend punttype. Het assortiment omvat dat van float . In combinatie met long geeft dit het type long double drijvende komma aan, waarvan het bereik dat van double omvat.

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

lang

Geeft een geheel getal met teken aan dat ten minste even lang is als int en waarvan het bereik ten minste -2147483647 tot en met +2147483647 omvat (dat wil zeggen - (2 ^ 31 - 1) tot + (2 ^ 31 - 1)). Dit type kan ook worden geschreven als long int .

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

De combinatie long double geeft een drijvende-komma-type aan, dat het breedste bereik van de drie drijvende-komma-typen heeft.

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

Wanneer de long specificator twee keer voorkomt, zoals in long long , geeft dit een ondertekend geheel getal aan dat minstens even long is en waarvan het bereik ten minste -9223372036854775807 tot en met +9223372036854775807 omvat (dat wil zeggen - (2 ^ 63 - 1) tot + (2 ^ 63 - 1)).

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

kort

Geeft een geheel getal met char aan dat minstens even lang is als char en waarvan het bereik ten minste -32767 tot en met +32767 omvat. Dit type kan ook worden geschreven als short int .

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

leegte

Een onvolledig type; Het is niet mogelijk dat een object type hebben void , noch zijn er arrays van void of verwijzingen naar void . Het wordt gebruikt als het retourtype van functies die niets retourneren.

Bovendien kan een functie overbodig worden verklaard met een enkele parameter van het type void ; dit komt overeen met het declareren van een functie zonder parameters (bijv. int main() en int main(void) verklaren dezelfde functie). Deze syntaxis is toegestaan voor compatibiliteit met C (waar functieverklaringen een andere betekenis hebben dan in C ++).

Het type void* ("pointer to void ") heeft de eigenschap dat elke objectpointer ernaar kan worden geconverteerd en terug kan resulteren in dezelfde pointer. Deze functie maakt het type void* geschikt voor bepaalde soorten (type-onveilige) type-wissende interfaces, bijvoorbeeld voor generieke contexten in API's in C-stijl (bijv. qsort , pthread_create ).

Elke uitdrukking kan worden omgezet in een uitdrukking van het type void ; dit wordt een verworpen waarde-uitdrukking genoemd :

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

Dit kan nuttig zijn om expliciet aan te geven dat de waarde van een uitdrukking niet van belang is en dat de uitdrukking alleen op zijn bijwerkingen moet worden beoordeeld.

wchar_t

Een geheel getal dat groot genoeg is om alle tekens van de grootste ondersteunde uitgebreide tekenset te vertegenwoordigen, ook bekend als de brede tekenset. (Het is niet draagbaar om aan te nemen dat wchar_t een bepaalde codering gebruikt, zoals UTF-16.)

Het wordt normaal gebruikt wanneer u tekens boven ASCII 255 moet opslaan, omdat het groter is dan het 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow