c++ - "Safe"动态转换?

标签 c++ oop casting

我熟悉如何在 C++ 中进行动态转换,如下所示:

myPointer = dynamic_cast<Pointer*>(anotherPointer);

但是如何使它成为“安全”的动态转换?

最佳答案

dynamic_cast 因为它不是所需类的完整对象而无法转换指针时,它会返回空指针以指示失败。 如果 dynamic_cast 用于转换为引用类型并且无法进行转换,则会抛出类型为 bad_cast 的异常。

关于c++ - "Safe"动态转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22754530/

相关文章:

c++ - 使用 cvflann::anyimpl::bad_any_cast 在 iOS 上拼接全景图会崩溃

collections - VB6:在集合中存储和检索表单

vb.net - 运行时动态转换 vb.net

c++ - 获取标题栏文字大小 WINAPI

Python:在初始评估后向类添加父类

c++ - 如何将 18 位色深表示为 16 位色深?

python - 使用用户输入启动类的新对象

c++ - 访问类似于 boost::any 的类中的值

c++ - 为什么这会重复打印换行符?

c++ - Linux 中 C++ 的类层次结构/依赖关系图生成器