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

bookExpliciete Typeconversie

Veeg om het menu te tonen

Als u werkt met variabelen van het type int, in plaats van alleen getallen in de code, moet u 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 benadering beknopt is, geeft het niet duidelijk de bedoeling of aard van de conversie aan, wat kan leiden tot ambiguïteit en mogelijk verkeerd gebruik.

Er zijn explicietere en veiligere casting-operatoren beschikbaar om meer controle te bieden over typeconversies.

Meestal is alleen een static_conversion nodig. Andere casts worden hier niet uitgebreid besproken. De syntax is als volgt:

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 het restrictiever is en onverwacht gedrag met complexe datatypes kan voorkomen.

question mark

Selecteer alle correcte manieren om typeconversie uit te voeren.

Select all correct answers

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