[C con Clase] Conversion a flotante C++

vicente lozano vicentelozano en gmail.com
Mar Feb 5 12:51:53 CET 2013


Si muchas gracias.

Un saludo


2013/2/4 Davidson, Steven <srd4121 en njit.edu>

> Hola Vicente,
>
> 2013/2/4 vicente lozano <vicentelozano en gmail.com>
>
>> Hola tengo una duda sobre las conversiones a flotante en C++.
>>
>> En un codigo que estoy revisando aparece:
>>
>> for (int i=0,....){
>> ....
>>  vector3 a=vector3(if,....)
>> ...
>> }
>>
>> if no esta declarado y vector3 recibe 3 floats como parametros.
>>
>> Asi que mi duda es:
>> - Se puede poner el nombre de una variable seguido de una f en plan
>> casting como con las constantes. (Equivalente a (float) i)
>> - Es pseudocodigo indicando precisamente eso.
>>
>>
> En primer lugar, no creo que el código original sea 'if'. Posiblemente,
> habría sido:
>
> vector3 a = vector3( 1f, ... );
>
> Es decir, un uno como valor literal de tipo 'float', al usar el sufijo 'f'.
>
> No puede ser 'if', porque el compilador daría un error al intentar usar el
> vocablo 'if', cuando espera una expresión. Además, si fuere el nombre de
> una variable, tampoco podríamos usar 'if', porque no podemos crear nombres
> (identificadores) que coincidan con los nombres de vocablos de C++. Esto
> provocaría más problemas que aportar soluciones.
>
> Sólo puedes usar los sufijos con valores literales. No tendría sentido
> agregar un carácter al final de una cadena de caracteres para indicar su
> tipo, ya que sería difícil distinguir el sufijo del nombre original. Por
> ejemplo,
>
> int precio = 1;
> int preciof = 10;
>
> cout << preciof;
>
> ¿Nos referimos a 'preciof' o a 'precio', pero de tipo 'float'? Es
> imposible saberlo, así que ni falta hace que lo intentemos.
>
> Si necesitas hacer un cásting a 'float', entonces hazlo explícitamente:
>
> cout << (float)precio;
>
> O de la forma "más C++":
>
> cout << static_cast<float>(precio);
>
>
> Espero haber aclarado la duda.
>
> Steven
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130205/7118c7ba/attachment.html>


Más información sobre la lista de distribución Cconclase