Conversiones de la conversión de tipos
Puede utilizar conversiones de tipo explícitamente para convertir tipos.
Sintaxis
conversión-expresión:
expresión unariaconversión-expresiónde**)** del nombre detipo de**(**
nombre de tipo:
resumen-declarante de la especificador-calificador-lista opt
El nombre de tipo es un tipo y la conversión-expresión es un valor que se va a ese tipo.Una expresión con una conversión de tipo no es un valor l.La conversión-expresión se convierte como si se hubiera asignada a una variable de nombre de tipodeclarativo.Las reglas de conversión para asignaciones (descritas en Conversiones de asignación) se aplican a las conversiones de tipo.La tabla siguiente se muestran los tipos que se pueden convertir al tipo especificado.
Conversiones de tipos válidos
tipos de destino |
Los orígenes posibles |
---|---|
Tipos enteros |
Cualquier tipo o tipo de punto flotante de entero, o puntero a un objeto |
flotante |
Cualquier tipo aritmético |
un puntero a un objeto, o (void *) |
Cualquier tipo entero, (void *), un puntero a un objeto, o un puntero a función |
Puntero de función |
Cualquier tipo entero, un puntero a un objeto, o un puntero a función |
Una estructura, unión, o matriz |
None |
Tipo void |
Cualquier tipo |
Cualquier identificador se puede convertir al tipo de void .Sin embargo, si el tipo especificado en una expresión de conversión de tipo no es void, el identificador el convertir a ese tipo no puede ser una expresión de void .Cualquier expresión se puede convertir a void, pero una expresión de void tipo no se puede convertir en ningún otro tipo.Por ejemplo, una función con el tipo de devolución de void no puede tener su conversión return a otro tipo.
Observe que una expresión de void * tiene un puntero a void, no un tipo voidde tipo.Si un objeto se convierte en el tipo de void , la expresión resultante no se puede asignar a ningún elemento.Igualmente, un objeto de la conversión de tipos no es un valor l aceptable, por lo que cualquier asignación se puede crear un objeto de conversión de tipo.
Específicos de Microsoft
Una conversión de tipo puede ser una expresión de valor l mientras el tamaño del identificador no cambia.Para obtener información sobre las expresiones de valor l, vea Las expresiones de valor l y r-value.
Específico de Microsoft de FINAL
Puede convertir una expresión para escribir void con una conversión, pero la expresión resultante sólo se puede utilizar en un valor no se requiere.Un puntero de objeto convertido a void * y al tipo original volverá a su valor original.