Red de conocimiento informático - Computadora portátil - Cuatro tipos de conversiones en C

Cuatro tipos de conversiones en C

Las transformaciones A* y B* son en su mayoría de bajo nivel. Cuando escribes clases de ventana para programadores de Win32, debes usar reinterpret_castlt;gt;

En C, a veces necesitas llamar manualmente al operador void* new() (por ejemplo, escribir una clase contenedora), o Es necesario utilizar la ubicación void* nueva. En este caso, necesitas usar B* p = static_castlt;B*gt;(void*)

const_cast se usa principalmente en un nivel alto, cuando se trata de algunos modismos estándar.

const_cast se puede evitar en gran medida mediante el uso de mutable. Pero algunas situaciones son inevitables.

Si una clase implementa una versión constante de una función miembro y una versión no constante de la función miembro.

Normalmente, la versión no constante llama a const_castlt;gt;(const). Se repite un lado del código.

El caso más común es que operador[]() llama a la versión constante de operador[]().

En este caso, se debe utilizar const_castlt;gt; para eliminar los atributos const.

En resumen, la programación entre A* y B* rara vez se utiliza en C, pero es esencial en el desarrollo de plataformas como win32.

const_castlt;gt; se utiliza principalmente para llamar a la versión constante con la versión no constante para evitar la redundancia de código.

const_cast