我似乎对c ++演员有了不错的理解。 static_cast / dynamic_cast如何工作。我发现很难消化的一个概念是:
如果派生类实际上是继承的,那么C ++不允许使用static_cast进行向下转换的技术原因是什么?比如说:
class D : virtual public B {
}
但是,当'D'类实际上是遗传的时候,
d = static_cast<D*> b; // Invalid
然后在换行符之下,
var dep = new Tracker.Dependency;
虽然我已经阅读了几篇相关的帖子,但似乎没有什么是明确的答案。