C++ Tutorial

Laufzeit-Typinformationen

Mithilfe der Laufzeit-Typinformation (runtime type information, RTTI) ist es möglich, zur Programmlaufzeit die Datentypen von zwei Daten zu vergleichen oder deren internen Namen abzufragen. Dazu liefert der Operator typeid() in einer Struktur type_info, die in der Header-Datei <type_info> definiert ist, Informationen zurück.

type_info& typeid(DTYP);

DTYP ist entweder der Datentyp oder das Datum, dessen Typinformation bestimmt werden soll.

Zur Auswertung des Ergebnisses des typeid() Operators stellt die Struktur type_info u.a. folgende Methoden zur Verfügung:

Methode
Bedeutung
bool operator == (const type_info& COp)
Vergleicht, ob zwei Datentypen identisch sind.
bool Operator != (const type_info& COp)
Vergleicht, ob zwei Datentypen unterschiedlich sind.
const char* name()
Liefert einen Zeiger auf den Datentyp als C-String; der Inhalt des C-Strings ist nicht standardisiert.

Somit kann z.B. mit folgender Anweisung verglichen werden, ob zwei Daten vom gleichen Typ sind:

if (typeid(obj1) == typeid(obj2))
   ...

Copyright 2024 © Wolfgang Schröder
E-Mail mit Fragen oder Kommentaren zu dieser Website an: info@cpp-tutor.de
Impressum & Datenschutz