dynamic_cast与能力查询
2017-02-28 13:40
323 查看
在C++里面,dynamic_cast 通常用于横向转换,而不是向上或者向下的转换。
这个常常用于检查某个实例,是否实现了某个接口类,那么就把这个实例,用dynamic_cast来转换成这个接口类的实例。
如果成功,那就得到了调用方;如果不成功,会返回NULL.
一般不用引用来作为转换的接收方,因为引用的话,如果失败,是抛出 bad_cast的异常,因为没有空引用。
这个常常用于检查某个实例,是否实现了某个接口类,那么就把这个实例,用dynamic_cast来转换成这个接口类的实例。
如果成功,那就得到了调用方;如果不成功,会返回NULL.
一般不用引用来作为转换的接收方,因为引用的话,如果失败,是抛出 bad_cast的异常,因为没有空引用。
相关文章推荐
- static_cast、dynamic_cast reinterpret_cast和const_
- warning C4541: 'dynamic_cast' used on polymorphic type 'class MyObject' with /GR-; unpredictable beh
- 编写高质量代码——reintepret_cast、static_cast、dynamic_cast、const_cast
- 浅议 Dynamic_cast 和 RTTI
- dynamic_cast
- The difference between static_cast and dynamic_cast
- c++ dynamic_cast
- static_cast、dynamic_cast reinterpret_cast和const_cast
- c++笔记 显式类型转换static_cast、dynamic_cast、const_cast、reinterpret_cast
- error C2683: “dynamic_cast”:“XXX”不是多态类型
- static_cast与dynamic_cast
- C++标准转换运算符dynamic_cast
- C++ 的dynamic_cast
- static_cast与dynamic_cast的区别
- static_cast,dynamic_cast,reinterpret_cast和const_cast的区别详解
- 钱能C++语言读书笔记(九)类型转换之动态转型(dynamic_cast)
- C++标准转换运算符dynamic_cast
- 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast (1)
- static_cast、dynamic_cast reinterpret_cast和const_ cast
- 【C++专题】static_cast, dynamic_cast, const_cast探讨