使用dynamic_cast转换指针时抛出bad_cast?

Nar*_*rek 1 c++ pointers casting reference

bad_cast如果你转换引用,dynamic_cast会抛出异常,但正如我所知,标准指针被认为是引用,即指针是引用的一种类型.
那么在投射指针时我应该得到bad_cast吗?

这个问题来自这个页面的try-catch块.这个try-catch块不合适吗?

Alo*_*ave 5

没有指针,如果有糟糕的演员,dynamic_cast将返回一个null.
此外,dynamic_cast仅适用于多态类,因此,如果您正在讨论内置数据类型(来自问题中的链接),那么static_cast您应该使用它.

顺便说一句,参考文献不是指针.

  • @Narek:在C++术语中,"reference"用于引用.我同意这是一个非常尴尬的术语.但是为了避免误解,我们需要非常谨慎地保持直言不讳(或者用惯用语来表达英语!).:-) (2认同)