PDA

View Full Version : [c++] casting di variabile on the fly


unslee
22-07-2008, 14:33
Ciao a tutti,
premetto che è da pochissimo che mi sto avvicinando al c++.

La domanda è:
esiste un modo per cambiare tipo ad una variabile al volo?

Lo static_cast<type>(variabile) è applicabile solo in un'espressione.

Se, dichiarate le variabili:

float y = 1.3456;
int x;

mi nasce la necessità di fare:

x = y e far assumere a x il completo valore float di y, come si fa?

Grazie a tutti per l'aiuto,

tomminno
22-07-2008, 15:17
Ciao a tutti,
premetto che è da pochissimo che mi sto avvicinando al c++.

La domanda è:
esiste un modo per cambiare tipo ad una variabile al volo?

Lo static_cast<type>(variabile) è applicabile solo in un'espressione.

Se, dichiarate le variabili:

float y = 1.3456;
int x;

mi nasce la necessità di fare:

x = y e far assumere a x il completo valore float di y, come si fa?

Grazie a tutti per l'aiuto,

Un int non potrà mai contenere un float, questo è valido per qualunque linguaggio tipizzato.

Se ti serve un float perchè mai non usare il tipo adatto?

banryu79
22-07-2008, 15:31
Richiamo l'attenzione sul fatto che se i float di cui sopra vengono processati numerose volte al fine di produrre, dopo N calcoli, un risultato finale, allora sarebbe meglio usare (se il contesto lo permette senza particolari obiezioni) il tipo double.

Questo se la precisione dell'ennesima cifra dopo la virgola è ritenuta importante.
Vedi questo thread (http://www.hwupgrade.it/forum/showthread.php?t=1776849&highlight=precisione+double) per maggiori dettagli