Información de tipos en tiempo de ejecución
La información de tipo en tiempo de ejecución (RTTI) es un mecanismo que permite determinar el tipo de un objeto durante la ejecución del programa. RTTI se agregó al lenguaje C++ porque muchos proveedores de bibliotecas de clases implementaban esta funcionalidad por sí mismos. Esto produjo incompatibilidades entre las bibliotecas. Por tanto, se hizo obvio que se necesitaba compatibilidad para información de tipo en tiempo de ejecución en el nivel de lenguaje.
Por razones de claridad, esta discusión de RTTI se limita casi totalmente a punteros. Sin embargo, los conceptos discutidos también se aplican a referencias.
Hay tres elementos principales del lenguaje C++ para la información en tiempo de ejecución:
El operador dynamic_cast.
Se usa para la conversión de tipos polimórficos.
El operador typeid.
Se utiliza para identificar el tipo exacto de un objeto.
La clase type_information.
Se usa para contener la información de tipo devuelta por el operador typeid.