gpt4 book ai didi

c++ - static_cast 与 dynamic_cast

转载 作者:IT老高 更新时间:2023-10-28 21:38:09 25 4
gpt4 key购买 nike

Possible Duplicate:
Regular cast vs. static_cast vs. dynamic_cast

我不太明白何时使用静态类型转换和何时使用动态类型转换。请问有什么解释吗?

最佳答案

从基类类型转换为派生类类型时使用dynamic_cast。它检查被强制转换的对象实际上是派生类类型,如果对象不是所需类型,则返回一个空指针(除非你正在强制转换为引用类型——然后它会抛出一个 bad_cast异常)。

如果不需要此额外检查,请使用 static_cast。正如 Arkaitz 所说,由于 dynamic_cast 执行额外的检查,它需要 RTTI 信息,因此具有更大的运行时开销,而 static_cast 是在编译时执行的。

关于c++ - static_cast 与 dynamic_cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1254777/

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