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

bookEksplisitt Typekonvertering

Sveip for å vise menyen

Hvis du arbeider med variabler av typen int, og ikke bare tall i koden, må du konvertere verdien til en variabel til double eller float. Dette kan gjøres ved å bruke 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; }

Det finnes flere måter å utføre eksplisitt typekonvertering på. Denne kalles 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 }

Selv om denne tilnærmingen er kortfattet, angir den ikke tydelig hensikten eller typen av konvertering, noe som kan føre til tvetydighet og potensiell feilbruk.

Det finnes mer eksplisitte og sikrere typekonverteringsoperatorer som gir bedre kontroll over typekonverteringer.

Som regel trenger du kun en static_conversion. Vi vil ikke gå i dybden på andre konverteringer. 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 gå gjennom forskjellen mellom alle disse. Generelt er static_cast å foretrekke siden det er mer restriktivt og kan forhindre uventet oppførsel med komplekse datatyper.

question mark

Velg alle riktige måter å utføre typekonvertering på.

Select all correct answers

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 4. Kapittel 7
some-alt