Konvertierungen und RTTI
Möglichkeiten der Typkonvertierung
alternative Möglichkeiten zur Typumwandlung, die die von C her
bekannten expliziten Casting-Operationen erweitern:
- const_cast<T>(arg)
- Manipulieren der const oder volatile-Modifizierer
vom Typ des Argumentes arg
- T und arg müssen vom gleichen Typ sein und
dürfen sich nur durch ihre const oder volatile-Modifizierer
unterscheiden, sonst ist Operation ein Fehler
- Typumwandlung findet bereits beim Compilieren statt
- static_cast<T>(arg)
- analog der impliziten Typkonvertierung; d.h. gibt es eine
implizite Typkonvertierung von Typ von arg nach T, dann ist
static_cast korrekt, ansonsten ein Fehler
- Typumwandlung ebenfalls beim Compilieren
- reinterpret_cast<T>(arg)
- analog der expliziten Typkonvertierung; d.h. ist ein
Ersatz für den Casting-Operator
(T)arg bzw. (Funktionsnotation) T(arg)
- es können unvollständige Typen (z.B. deklarierte, aber noch nicht
definierte Klassen) verwendet werden
- Typumwandlung beim Compilieren