Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Expliciete Typeconversie | Overige Datatypen en Concepten
C++-Datatypen

bookExpliciete Typeconversie

Veeg om het menu te tonen

Als je werkt met variabelen van het type int, in plaats van alleen getallen in de code, moet je de waarde van een variabele omzetten naar double of float. Dit kan worden gedaan met de volgende syntaxis:

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; }

Er zijn verschillende manieren om expliciet een typeconversie uit te voeren. Deze methode wordt C-stijl conversie genoemd:

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 }

Hoewel deze aanpak beknopt is, geeft het niet duidelijk de bedoeling of aard van de conversie aan, wat kan leiden tot onduidelijkheid en mogelijk verkeerd gebruik.

Er zijn meer expliciete en veiligere casting-operatoren beschikbaar die betere controle over typeconversies bieden.

Meestal heb je alleen een static_conversion nodig. Andere casts worden hier niet uitgebreid besproken. Hier is de syntaxis:

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 }

We behandelen het verschil tussen al deze niet. In het algemeen heeft static_cast de voorkeur omdat deze restrictiever is en onverwacht gedrag met complexe datatypes kan voorkomen.

question mark

Selecteer alle correcte manieren van typeconversie.

Selecteer alle juiste antwoorden

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 7

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 4. Hoofdstuk 7
some-alt