En la conversión de tipos de C ++ , el operador realiza una conversión de tipos explícita. [1]static_cast
Sintaxis
static_cast < tipo > ( objeto );
El parámetro de tipo debe ser un tipo de datos al que se pueda convertir el objeto a través de un método conocido, ya sea incorporado o moldeado. El tipo puede ser una referencia o un enumerador. Todos los tipos de conversiones que están bien definidas y permitidas por el compilador se realizan utilizando static_cast
. [2] [ verificación fallida ]
El static_cast<>
operador se puede utilizar para operaciones como:
- convertir un puntero de una clase base en un puntero de una clase derivada no virtual;
- convertir tipos de datos numéricos tales como enumeraciones a ints o flotadores .
Aunque las static_cast
conversiones se comprueban en tiempo de compilación para evitar incompatibilidades obvias, no se realiza ninguna comprobación de tipo en tiempo de ejecución que evitaría una conversión entre tipos de datos incompatibles, como punteros. Además, el resultado de un static_cast
puntero de una clase base virtual a un puntero de una clase derivada no está definido.
Ver también
Referencias
- ^ Programación: principios y práctica con C ++ . Nueva Jersey, EE.UU .: Addison-Wesley. 2009. p. 594. ISBN 0321543726. OCLC 988823060 .
- ^ Eckel, Bruce (2000). Pensando en C ++ . Nueva Jersey, Estados Unidos: Prentice Hall . pag. 857. ISBN 0-13-979809-9.