dynamic_cast与能力查询

在C++里面,dynamic_cast 通常用于横向转换,而不是向上或者向下的转换。

 

这个常常用于检查某个实例,是否实现了某个接口类,那么就把这个实例,用dynamic_cast来转换成这个接口类的实例。

如果成功,那就得到了调用方;如果不成功,会返回NULL.

 

一般不用引用来作为转换的接收方,因为引用的话,如果失败,是抛出 bad_cast的异常,因为没有空引用。

 

posted @ 2017-02-28 13:40  blcblc  阅读(195)  评论(0编辑  收藏  举报