lo que hace este¿Debo usar realmente static_cast cada vez que quiero convertir entre tipos primitivos?
long l = 1;
char c = static_cast<char>(l);
float f = 1.0f;
int i = static_cast<int>(f);
mejor que esto
long l = 1;
char c = (char)l;
float f = 1.0f;
int i = (int)f;
cuando se lanza un tipo de datos primitivo a otro?
Tengo mucho código heredado que usa el segundo estilo para el moldeado de tipos en situaciones similares, por lo que esta también es una pregunta sobre si debería o no realizar una revisión a gran escala de ese código.
Puede encontrar [la respuesta de Bjarne Stroustrup] (http://stroustrup.com/bs_faq2.html#static-cast) una buena lectura. – chris