本文主要是介绍C++学习 boost学习之-polymorphic_cast,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Boost中文手册下载:http://download.csdn.net/detail/skdkjxy/8723045
用法:
1 dynamic_cast对指针类型转换失败会返回空,对引用转型失败会抛出异常,而polymorphic_cast统一了这两种不一致的行为;polymorphic_cast会都抛出异常
2 polymorphic_cast的好处是避免因为疏忽导致忘记测试转换后的指针是否为空,因为他抛出异常
3 当多态转型的失败是预期的时候,使用 dynamic_cast<T*>,当一个多态转型必须成功以确保逻辑的正确性时,使用polymorphic_cast<T*>.
4 对引用类型执行多态转型时,使用 dynamic_cast<T*>
这篇关于C++学习 boost学习之-polymorphic_cast的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!