我们经常听到/读到应该避免动态铸造.根据你的说法,我想知道它的"好用"例子是什么?
编辑:
是的,我知道那个其他线程:确实在阅读那里的第一个答案时,我问了我的问题!
这个最近的线程给出了一个它派上用场的例子.有一个基础的Shape类和从它派生的Circle和Rectangle类.在测试相等性时,很明显Circle不能等于Rectangle,尝试比较它们将是一场灾难.在迭代指向Shapes的指针集合时,dynamic_cast会执行双重任务,告诉您形状是否具有可比性,并为您提供正确的对象以进行比较.
矢量迭代器不是dereferencable