Scott Meyer
in seinem Buch Effective C++
sagt dynamic_cast
wird verwendet, um sichere Casts nach unten oder über eine Vererbungshierarchie durchzuführen. Das heißt, Sie verwenden dynamic_cast, um Zeiger oder Verweise auf Basisklassenobjekte in Zeiger oder Verweise auf abgeleitete oder gleichgeordnete Basisklassenobjekte zu konvertieren, sodass Sie feststellen können, ob die Umwandlungen erfolgreich waren.Wie identifiziert man fehlgeschlagene Casts mit dem dynamic_cast Operator?
Fehlgeschlagene Umwandlungen werden durch einen Null-Zeiger (beim Umwandeln von Zeigern) oder eine Ausnahme (beim Umwandeln von Referenzen) angezeigt.
Ich möchte zwei Code-Snippet bekommen, die die fehlgeschlagene Besetzung im Fall von Casting-Pointer und Casting-Referenz angezeigt werden kann.
Fragen Sie nach Beispielen für Code, der testet, ob ein Zeiger Null ist und Code, der eine Ausnahme abfängt? –
Nein. Ich verstehe nicht, wie Abgüsse ausfallen könnten, wie von Scott erwähnt. Ein Code-Snippet würde definitiv helfen. –
http://en.wikipedia.org/wiki/Dynamic_cast –