Identification de type à l'exécution (RTTI)

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Identification de type à l'exécution (RTTI) - Index

L'ajout de l'identification du type à l'exécution (RTTI) rend possible l'écriture de code portable pouvant déterminer le véritable type d'un objet de données au moment de l'exécution, même si ce code ne peut accéder qu'à un pointeur ou qu'à une référence de l'objet en question. Par exemple, il est désormais possible de convertir un pointeur sur une classe de base virtuelle en pointeur sur un type dérivé du véritable objet. Consultez la description de l'opérateur dynamic_cast qui utilise les informations de type obtenues à l'exécution.

Le mécanisme RTTI permet également de vérifier de quel type est un objet, ou si deux objets sont du même type. L'opérateur qui permet cela est typeid : il détermine le véritable type des arguments de l'objet, et renvoie une référence à un objet de type const type_info, qui décrit ce type.

Vous pouvez aussi utiliser un nom de type comme argument de typeid, et typeid vous renverra un objet const type_info pour ce type. La classe type_info contient un operator== et un operator!=, qui serviront à déterminer si deux objets sont du même type. La classe type_info fournit aussi une fonction membre name qui renvoie un pointeur sur une chaîne de caractères contenant le nom du type.

Voir aussi