Szukaj…


int

Oznacza podpisany typ liczb całkowitych o „rozmiarze naturalnym sugerowanym przez architekturę środowiska wykonawczego”, którego zakres obejmuje co najmniej -32767 do +32767 włącznie.

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

Może być łączony z unsigned , short , long i long long (qv) w celu uzyskania innych typów całkowitych.

bool

Typ liczby całkowitej, którego wartość może być true lub false .

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

zwęglać

Typ liczby całkowitej, który jest „wystarczająco duży, aby przechowywać dowolnego członka podstawowego zestawu znaków implementacji”. Jest zdefiniowane w implementacji, czy char jest podpisany (i ma zakres co najmniej od -127 do +127 włącznie) lub niepodpisany (i ma zakres co najmniej od 0 do 255 włącznie).

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

Typ całkowity bez znaku o tym samym rozmiarze i wyrównaniu co uint_least16_t , który jest zatem wystarczająco duży, aby pomieścić jednostkę kodu 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

Typ całkowity bez znaku o tym samym rozmiarze i wyrównaniu co uint_least32_t , który jest zatem wystarczająco duży, aby pomieścić jednostkę kodu UTF-32.

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

pływak

Typ zmiennoprzecinkowy. Ma najwęższy zakres spośród trzech typów zmiennoprzecinkowych w C ++.

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

podwójnie

Typ zmiennoprzecinkowy. Jego zakres obejmuje float . W połączeniu z long oznacza typ long double zmiennoprzecinkowego long double , którego zakres obejmuje zakres double .

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

długo

Oznacza podpisaną liczbę całkowitą, która jest co najmniej tak długa jak int , i której zakres obejmuje co najmniej -2147483647 do +2147483647 włącznie (tj. - (2 ^ 31-1) do + (2 ^ 31-1)). Ten typ można również zapisać jako long int .

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

Kombinacja long double oznacza typ zmiennoprzecinkowy, który ma najszerszy zakres spośród trzech typów zmiennoprzecinkowych.

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

Gdy long występuje specyfikator dwa, jak na long long , to oznacza liczbę całkowitą podpisany typu, która jest co najmniej tak długo, jak long i którego zakres obejmuje co najmniej -9223372036854775807 do +9223372036854775807 włącznie (to znaczy, - (2 ^ 63 - 1) do + (2 ^ 63-1)).

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

krótki

Oznacza podpisaną liczbę całkowitą, która jest co najmniej tak długa jak char , i której zakres obejmuje co najmniej -32767 do +32767 włącznie. Ten typ można również zapisać jako short int .

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

unieważnić

Niekompletny typ; obiekt nie może mieć typu void , nie ma też tablic void ani odniesień do void . Jest używany jako typ zwracanych funkcji, które niczego nie zwracają.

Ponadto funkcja może być nadmiarowo zadeklarowana za pomocą jednego parametru typu void ; jest to równoważne z zadeklarowaniem funkcji bez parametrów (np. int main() i int main(void) deklarują tę samą funkcję). Ta składnia jest dozwolona dla zgodności z C (gdzie deklaracje funkcji mają inne znaczenie niż w C ++).

Typ void* („wskaźnik do void ”) ma właściwość polegającą na tym, że dowolny wskaźnik obiektu może zostać na niego przekonwertowany i odwrotnie, w wyniku czego powstaje ten sam wskaźnik. Ta funkcja sprawia, że typ void* odpowiedni dla niektórych rodzajów (niebezpiecznych) interfejsów kasujących typy, na przykład dla ogólnych kontekstów w interfejsach API typu C (np. qsort , pthread_create ).

Każde wyrażenie można przekształcić w wyrażenie typu void ; nazywa się to wyrażeniem odrzuconej wartości :

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

Może to być przydatne do wyraźnego zasygnalizowania, że wartość wyrażenia nie jest przedmiotem zainteresowania i że wyrażenie należy oceniać wyłącznie pod kątem skutków ubocznych.

wchar_t

Liczba całkowita wystarczająco duża, aby reprezentować wszystkie znaki największego obsługiwanego rozszerzonego zestawu znaków, znanego również jako zestaw znaków szerokich. (Nie jest przenośne wchar_t założenia, że wchar_t używa jakiegokolwiek konkretnego kodowania, takiego jak UTF-16.)

Zwykle jest używany, gdy trzeba przechowywać znaki powyżej ASCII 255, ponieważ ma większy rozmiar niż typ 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow