我熟悉如何在 C++ 中进行动态转换,如下所示:
myPointer = dynamic_cast<Pointer*>(anotherPointer);
但是如何使它成为“安全”的动态转换?
最佳答案
当 dynamic_cast
因为它不是所需类的完整对象而无法转换指针时,它会返回空指针以指示失败。
如果 dynamic_cast
用于转换为引用类型并且无法进行转换,则会抛出类型为 bad_cast 的异常。
关于c++ - "Safe"动态转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22754530/