Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Explicit Typekonvertering | Section
C++ Datatyper

bookExplicit Typekonvertering

Stryg for at vise menuen

Hvis du arbejder med variabler af typen int, og ikke blot tal i koden, skal du konvertere værdien af en variabel til double eller float. Dette kan gøres ved at bruge følgende syntaks:

main.cpp

main.cpp

copy
12345678910
#include <iostream> int main() { int num1 = 9; int num2 = 4; std::cout << "No conversion: " << num1 / num2 << std::endl; std::cout << "With conversion: " << (double)num1 / num2 << std::endl; }

Der findes flere måder at udføre eksplicit typekonvertering på. Denne metode kaldes C-stil konvertering:

main.cpp

main.cpp

copy
123456789101112
#include <iostream> int main() { float num = 6.5; std::cout << (int)num << std::endl; // 6.5 to `int` is 6 std::cout << (bool)num << std::endl; // 6.5 to `bool` is true // Or std::cout << int(num) << std::endl; // 6.5 to `int` is 6 std::cout << bool(num) << std::endl; // 6.5 to `bool` is true }

Selvom denne tilgang er kortfattet, angiver den ikke tydeligt hensigten eller arten af konverteringen, hvilket kan føre til tvetydighed og potentiel forkert brug.

Der findes mere eksplicitte og sikrere casting-operatorer, som giver bedre kontrol over typekonverteringer.

De fleste gange har du kun brug for en static_conversion. Vi vil ikke gennemgå andre casts i detaljer. Her er syntaksen:

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { float num = 6.5; std::cout << static_cast<int>(num) << std::endl; // 6.5 to `int` is 6 std::cout << static_cast<bool>(num) << std::endl; // 6.5 to `bool` is true }

Vi vil ikke dække forskellen mellem alle disse. Generelt er static_cast at foretrække, da det er mere restriktivt og kan forhindre uventet adfærd med komplekse datatyper.

question mark

Vælg alle de korrekte måder at udføre typekonvertering på.

Vælg alle korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 17

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 17
some-alt