Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Eksplicit Typekonvertering | Andre Datatyper og Begreber
Practice
Projects
Quizzes & Challenges
Quizzer
Challenges
/
C++ Datatyper

bookEksplicit Typekonvertering

Stryg for at vise menuen

Hvis du arbejder med variabler af typen int i stedet for blot tal i koden, skal du konvertere værdien af en variabel til double eller float. Dette kan gøres ved hjælp af 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å.

Select all correct answers

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 7

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 4. Kapitel 7
some-alt