Typidentifikation zur Laufzeit (RTTI): Übersicht

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Identifikation von Typen zur Laufzeit (RTTI) - Index

Typidentifikation zur Laufzeit (Run-time type identification, RTTI) ermöglicht Ihnen das Schreiben von portablem Quelltext, der den aktuellen Typ eines Datenobjektes zur Laufzeit bestimmen kann. Das ist auch dann möglich, wenn der Quelltext nur Zugriff auf einen Zeiger oder eine Referenz des Objektes hat. Dadurch ist es beispielsweise möglich, einen Zeiger auf eine virtuelle Basisklasse in einen Zeiger auf den abgeleiteten Typ des aktuellen Objektes umzuwandeln. Verwenden Sie den Operator dynamic_cast, um Umwandlungen zur Laufzeit durchzuführen.

Mit dem Mechanismus von RTTI können Sie auch überprüfen, ob ein Objekt einen besonderen Typ hat und ob zwei Objekte den gleichen Typ haben. Sie können das mit dem Operator typeid machen, der den aktuellen Typ seines Argumentes bestimmt und eine Referenz auf ein Objekt des Typs const type_info liefert, das diesen Typ beschreibt.

Sie können auch einen Typnamen als Argument von typeid verwenden. typeid wird dann eine Referenz auf ein konstantes Objekt const type_info dieses Typs liefern. Die Klasse type_info stellt einen operator== und einen operator!= zur Verfügung, mit dem Sie bestimmen können, ob zwei Objekte den gleichen Typ haben.. Die Klasse type_info stellt auch einen Member-Funktionsnamen zur Verfügung, der einen Zeiger auf eine Zeichenkette liefert, die den Namen des Typs enthält.

Siehe auch