gpt4 book ai didi

c++ - std::bad_cast vs NULL,有什么区别?

转载 作者:行者123 更新时间:2023-12-01 15:07:50 24 4
gpt4 key购买 nike

为什么当失败时返回std::bad_cast时需要Null

我了解到dynamic_cast失败时,它会返回Null,因此我可以检查Null是否已返回,这意味着发生了错误。

但是,为什么std::bad_cast异常被添加到C++中呢?

最佳答案

因为您不能有一个空引用。 dynamic_cast<T*>可以返回nullptr作为失败,但是dynamic_cast<T&>不能返回,因为您要返回对对象的引用。对于这种情况,您需要一个异常(exception)来知道强制转换失败。

关于c++ - std::bad_cast vs NULL,有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62410380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com