Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Conversione di Tipo Esplicita | Altri Tipi di Dati e Concetti
Tipi di Dati in C++

bookConversione di Tipo Esplicita

Scorri per mostrare il menu

Se si lavora con variabili di tipo int, invece che semplicemente con numeri nel codice, è necessario convertire il valore di una variabile in double o float. Questo può essere realizzato utilizzando la seguente sintassi:

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

Esistono diversi modi per eseguire esplicitamente la conversione di tipo. Questo metodo è chiamato conversione in stile C:

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 }

Sebbene questo approccio sia conciso, non indica chiaramente l'intento o la natura della conversione, il che può portare ad ambiguità e potenziali usi impropri.

Esistono operatori di cast più espliciti e sicuri che offrono un controllo migliore sulle conversioni di tipo.

Nella maggior parte dei casi, è sufficiente utilizzare una static_conversion. Non approfondiremo altri tipi di cast. Ecco la sintassi:

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 }

Non tratteremo la differenza tra tutti questi. In generale, static_cast è preferibile poiché è più restrittivo e può prevenire comportamenti inattesi con tipi di dati complessi.

question mark

Seleziona tutti i modi corretti per eseguire la conversione di tipo.

Select all correct answers

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 7

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 4. Capitolo 7
some-alt