static_cast für dpwncast benutzen?
-
darf ich static_cast für einen polymorphen downcast benutzen, wenn ich weiss, dass der zeiger auf ein objekt des zieltyps zeigt?
-
Hi,
du kannst den static_cast für downcasts benutzen, wenn du a) weißt, was du tust und b) du eine einfache Klassenhierarchie (also ohne Mehrfachvererbung) hast.
MfG
GPC
-
in meinem fall also nicht

dynamic_cast halt
-
Mehrfachvererbung spielt an sich keine Rolle. Ein static_cast von B* nach D* ist wohlgeformt und definiert, wenn D* implit in B* konvertierbar ist (also eindeutig und mit hinreichenden Zugriffsrechten) und B* keine (direkte oder indirekte) virtuelle Basisklasse von D ist.
-
Hmm, aber es ist schon etwas riskant, falls mal was nicht implizit konvertierbar ist und man das leichtfertig übersieht.
@ga$t
siehe auch hier: http://www.c-plusplus.net/forum/viewtopic-var-t-is-156679.html