【发布时间】:2011-07-01 20:00:26
【问题描述】:
谁能给我一个真实世界的例子,说明需要 dynamic_cast 并且根本无法解决的情况?我能想到的示例通常可以通过双重调度来解决。
如果约束太强,通常采用 dynamic_cast 的示例也是不错的选择。
我希望看到真实的例子,而不是“它通常用于在类型树上下类型之间进行转换”。
【问题讨论】:
-
@amit:这解释了 dynamic_cast 的作用,而不是说明何时需要它并且无法以不同方式完成相同任务的示例。
-
是的,给出的示例几乎正是我想到的示例,并且可以通过双重调度来解决。这就是为什么我需要进一步问这个问题。谢谢。
-
@Russel:你为什么要特别避免
dynamic_cast?旧的编译器实现它的速度非常慢,但现在大多数人都将它实现为一个简单的 vtbl 指针比较。 -
@Billy,为了知识和探索可能性:)
标签: c++ dynamic-cast