C/Visual C - Que es un Cast?

 
Vista:

RE:Que es un Cast?

Publicado por chuidiang (677 intervenciones) el 29/04/2002 21:43:38
Un cast es convertir un tipo a otro.
Hay cast implicitos (el compilador los hace solito, sin que nadie le diga nada). Por ejemplo
float a;
int b;
a = b; // funciona bien gracias a que el int b se convierte a float antes de asignarlo.

Puede ser explicito, es decir, tu dices la conversión

a = (float)b; // Haces que b sea float

Los cast explicitos son más útiles con punteros. Por ejemplo, si tienes un puntero char * a una zona de memoria que tu sabes que contiene enteros, haces la conversion

char *a;
int *b;
b = (int *) a;

También es útil para obtener más precisión en las cuentas. Por ejemplo
int a = 3;
a/2 daría 1 (son todo enteros y resultado sale entero y sin decimales)
((float)a )/2 daría 1.5 ( (float)a es flotante y el resultado daria con decimales).

etc, etc

Puedes incluso hacer cast entre clases distintas, siempre y cuando redefinas el operador adecuado.

Se bueno
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar