¿Cuándo usar reinterpret cast?
Estoy poco confundido con la aplicabilidad de reinterpret_cast
vs static_cast
. Por lo que he leído, las reglas generales son usar cast estático cuando los tipos se pueden interpretar en tiempo de compilación, de ahí la palabra static
. Este es el cast que el compilador de C++ utiliza internamente para los casts implícitos también.
reinterpret_cast
s son aplicables en dos escenarios, convertir tipos enteros a tipos de puntero y viceversa o convertir un tipo de puntero a otro. La idea general que tengo es que esto es transportables y debe ser evitar.
Donde estoy un poco confundido es un uso que necesito, estoy llamando a C++ desde C y el código de C necesita aferrarse al objeto C++, por lo que básicamente contiene un void*
. ¿Qué cast se debe usar para convertir entre el void *
y el tipo de clase?
He visto el uso de ambos static_cast
y reinterpret_cast
? Aunque por lo que he estado leyendo parece static
es mejor ya que el cast puede ocurrir en tiempo de compilación? ¿Aunque dice usar reinterpret_cast
para convertir de un tipo de puntero a otro?
Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32
Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52