Ich lese das Buch "A Tour of C++" und kann den folgenden Absatz nicht verstehen. Was bedeutet "ein anderer Typ ist inakzeptabel"? Wann also das Pointercasting und wann das Referenzcasting verwendet wird? Kann jemand das ausarbeiten? Vielen Dank.Wann sollte dynamic_cast der Referenz verwendet werden?
Bearbeiten: Die andere Frage, "Difference in behavior while using dynamic_cast with reference and pointers" fragt das Verhalten von dynamic_cast, die ich verstehen konnte - zurückgeben nullptr oder throw Ausnahme. In dieser Frage frage ich, wann ich die eine und wann die andere verwenden soll.
„Wir dynamic_cast auf einen Zeigertyp verwenden, wenn ein Zeiger auf ein Objekt einer anderen abgeleiteten Klasse ein gültiges Argument ist. Wir haben dann testen, ob das Ergebnis nullptr ist. Dieser Test kann oft bequem in platziert werden die Initialisierung einer Variablen in einer Bedingung Wenn ein anderer Typ inakzeptabel ist, können wir einfach dynamic_cast zu einem Referenztyp. Wenn das Objekt nicht vom erwarteten Typ ist, wird bad_cast geworfen: " - Eine Tour von C++ , Abschnitt 4.5.3