【问题标题】:dyn_cast vs. dynamic_cast in C++C++ 中的 dyn_cast 与 dynamic_cast
【发布时间】:2012-08-23 00:37:59
【问题描述】:

我在我正在处理的代码库中遇到了很多 dyn_cast。

它和 dynamic_cast 是一样的吗?或不同的东西?我搜索了一下,但找不到太多信息..

【问题讨论】:

标签: c++ llvm dynamic-cast


【解决方案1】:

dyn_cast 是 LLVM API 的一部分(也是第一个、第二个、第三个等等。在 google 上点击)就像 dynamic_cast 一样工作,但是,一个区别是该类不需要 v-像 dynamic_cast 这样的表。请参阅manual 了解更多信息。

【讨论】:

    【解决方案2】:

    其实就是llvm::dyn_cast_or_null,相当于dynamic_cast

    如果传递一个空指针,这些将产生一个空指针,而llvm::dyn_cast 将保释。

    【讨论】:

    • 如果值不是所需类型,llvm::dyn_cast_or_nullllvm::dyn_cast 都将返回 null。 then 之间的区别在于它们是否接受 null 作为参数。
    猜你喜欢
    • 2021-07-31
    • 1970-01-01
    • 2011-06-06
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    相关资源
    最近更新 更多