繁体   English   中英

强制转换失败时的C ++ dynamic_cast行为

[英]C++ dynamic_cast behavior when cast fails

如果bad_cast涉及指针, dynamic_cast计算结果为NULL ,但如果bad_cast涉及引用类型,则将抛出bad_cast异常。

为什么这种行为上的差异?

谢谢

因为没有NULL引用这样的东西:)

实际上可能存在null引用(或更确切地说是对null的引用),但这是未定义的行为(UB)。 由于标准未定义 UB,因此dynamic_cast引发了异常定义非常明确的异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM