最佳答案
在 C + + 中,T q = dynamic_cast<T>(p);
构造执行指针 p
到其他指针类型 T
的运行时强制转换,这些指针类型必须出现在动态类型 *p
的继承层次结构中才能成功。一切都很好。
但是,也可以执行 dynamic_cast<void*>(p)
,它只返回一个指向“最派生对象”的指针(参见 C + + 11中的5.2.7: : 7)。我理解这个特性在动态强制转换的实现中可能是免费的,但是它在实践中有用吗?毕竟,它的返回类型最多是 void*
,那么这有什么好处呢?