I was checking the behavior of dynamic_cast and found that when it fails, std::bad_cast exception is thrown only if the destination is a reference type. If the destination i
Yes, it is. Because dynamic_cast can't return NULL for a failed reference cast, an exception is the only way out.
dynamic_cast
That is, a reference can't be NULL, so there is nothing suitable to return.