C++
Grundtyp-Schlüsselwörter
Suche…
int
Bezeichnet einen vorzeichenbehafteten Integer-Typ mit "der von der Architektur der Ausführungsumgebung vorgeschlagenen natürlichen Größe", dessen Bereich mindestens -32767 bis +32767 (einschließlich) umfasst.
int x = 2;
int y = 3;
int z = x + y;
Kann mit unsigned
, short
, long
und long long
(qv) kombiniert werden, um andere Integer-Typen zu erhalten.
bool
Ein ganzzahliger Typ, dessen Wert entweder true
oder false
.
bool is_even(int x) {
return x%2 == 0;
}
const bool b = is_even(47); // false
verkohlen
Ein ganzzahliger Typ, der "groß genug ist, um ein Mitglied des Basiszeichensatzes der Implementierung zu speichern". Es ist implementierungsdefiniert, ob char
signiert ist (und einen Bereich von mindestens -127 bis +127 (einschließlich) hat) oder unsigniert (und einen Bereich von mindestens 0 bis einschließlich 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
Ein vorzeichenloser Integer-Typ mit derselben Größe und Ausrichtung wie uint_least16_t
, der daher groß genug ist, um eine UTF-16- uint_least16_t
.
const char16_t message[] = u"你好,世界\n"; // Chinese for "hello, world\n"
std::cout << sizeof(message)/sizeof(char16_t) << "\n"; // prints 7
char32_t
Ein vorzeichenloser Integer-Typ mit derselben Größe und Ausrichtung wie uint_least32_t
, der daher groß genug ist, um eine UTF-32- uint_least32_t
.
const char32_t full_house[] = U"🂣🂳🂨🂸🃈"; // non-BMP characters
std::cout << sizeof(full_house)/sizeof(char32_t) << "\n"; // prints 6
schweben
Ein Gleitkommatyp. Hat den engsten Bereich der drei Fließkommatypen in C ++.
float area(float radius) {
const float pi = 3.14159f;
return pi*radius*radius;
}
doppelt
Ein Gleitkommatyp. Sein Sortiment umfasst das von float
. Wenn mit long
kombiniert, wird der Typ des long double
Gleitpunkts bezeichnet, dessen Bereich den Wert von double
.
double area(double radius) {
const double pi = 3.141592653589793;
return pi*radius*radius;
}
lange
Bezeichnet einen vorzeichenbehafteten ganzzahligen Typ, der mindestens so lang wie int
ist und dessen Bereich mindestens -2147483647 bis +2147483647 umfasst (d. H. - (2 ^ 31-1) bis + (2 ^ 31-1)). Dieser Typ kann auch als long int
.
const long approx_seconds_per_year = 60L*60L*24L*365L;
Die Kombination long double
bezeichnet einen Fließkomma-Typ, der den breitesten Bereich der drei Fließkomma-Typen aufweist.
long double area(long double radius) {
const long double pi = 3.1415926535897932385L;
return pi*radius*radius;
}
Wenn der long
Spezifizierer zweimal auftritt, wie in long long
, bezeichnet er einen Integer - Typ unterzeichnet, die mindestens so lang wie long
, und deren Bereich mindestens -9223372036854775807 bis 9223372036854775807, inclusive (das heißt, - (2 ^ 63 - 1) bis + (2 ^ 63 - 1)).
// support files up to 2 TiB
const long long max_file_size = 2LL << 40;
kurz
Bezeichnet einen vorzeichenbehafteten Integer-Typ, der mindestens so lang wie char
ist und dessen Bereich mindestens -32767 bis +32767 (einschließlich) umfasst. Dieser Typ kann auch als short int
.
// (during the last year)
short hours_worked(short days_worked) {
return 8*days_worked;
}
Leere
Ein unvollständiger Typ; Es ist nicht möglich, dass ein Objekt vom Typ void
, und es gibt keine Arrays von void
oder Verweise auf void
. Es wird als Rückgabetyp von Funktionen verwendet, die nichts zurückgeben.
Darüber hinaus kann eine Funktion redundant mit einem einzigen Parameter vom Typ void
deklariert void
. Dies ist gleichbedeutend mit der Deklaration einer Funktion ohne Parameter (zB int main()
und int main(void)
erklären dieselbe Funktion). Diese Syntax ist für die Kompatibilität mit C zulässig (wobei Funktionsdeklarationen eine andere Bedeutung haben als in C ++).
Der Typ void*
("Zeiger auf void
") hat die Eigenschaft, dass jeder Objektzeiger in ihn und zurück konvertiert werden kann und zum selben Zeiger führt. Diese Funktion macht den Typ void*
für bestimmte Arten von (Typ-unsicheren) Schnittstellen zum Löschen von Typen geeignet, beispielsweise für generische Kontexte in APIs im C-Stil (z. B. qsort
, pthread_create
).
Jeder Ausdruck kann in einen Ausdruck vom Typ void
. Dies wird als Ausdruck für einen verworfenen Wert bezeichnet :
static_cast<void>(std::printf("Hello, %s!\n", name)); // discard return value
Dies kann nützlich sein, um explizit zu signalisieren, dass der Wert eines Ausdrucks nicht von Interesse ist und dass der Ausdruck nur hinsichtlich seiner Nebenwirkungen bewertet werden soll.
wchar_t
Ein ganzzahliger Typ, der groß genug ist, um alle Zeichen des größten unterstützten erweiterten Zeichensatzes darzustellen, der auch als Breitzeichensatz bezeichnet wird. (Die Annahme, dass wchar_t
eine bestimmte Kodierung wie UTF-16 verwendet, ist nicht tragbar.)
Sie wird normalerweise verwendet, wenn Sie Zeichen über ASCII 255 speichern müssen, da sie größer als der Zeichentyp 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"