我在我正在处理的代码库中遇到了很多 dyn_cast。
它与 dynamic_cast 是一样的吗?或不同的东西?我搜索了一下,但找不到太多信息..
dyn_cast
是 LLVM API 的一部分(也是第一个、第二个、第三个等。在 google 上点击)就像 dynamic_cast 一样工作,但是,一个区别是该类不需要像 dynamic_cast 这样的 v-table。请参阅手册了解更多信息。
实际上,它llvm::dyn_cast_or_null
相当于dynamic_cast
.
如果传递一个空指针,这些将产生一个空指针,而llvm::dyn_cast
将保释。