dynamic_cast 和 dynamic_Pointer_cast的使用
2017-07-06 13:05
806 查看
仅仅是自我的总结,不涉及过多。。需要更多详细资料的请自行百度。
1.指引或者引用的向上转换,向下转换
例如基类A ,派生类B.。A->B 则为向下转换。。B->A则为向上转换。。向上转换为隐士转换。向下转换需要dynamic_cast或者c的转换方式。B * b = new B;
A * a = b;
此时b就是向上转换。无需显式转换既可以编译通过。
2.dynamic_cast
一般用于有继承关系的类之间的向下转换。3.dynamic_pointer_cast
当指针是智能指针时候,向下转换,用dynamic_Cast 则编译不能通过,此时需要使用dynamic_pointer_cast。相关文章推荐
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。(转)
- 使用Dynamic_cast出现警告信息
- dynamic_cast使用方式
- dynamic_cast使用前提是打开rtti选项。
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。
- ststic_cast,const_cast,dynamic_cast区别使用
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- C++ 使用dynamic_cast进行downcast时常会出现的问题 [RTTI]
- 【转贴】使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。(转)
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterdivt_cast、和const_cast
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- 使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast
- 【转】使用标准C++的类型转换符:static_cast、dynamic_cast、const_cast和reinterpret_cast
- 使用标准C++的类型转换符--static_cast、dynamic_cast、reinterpret_cast、const_cast
- 为何mfc不使用 dynamic_cast这样的基指针向派生类指针的显示转换?(转)
- dynamic_cast使用
- C++ 使用dynamic_cast进行downcast时常会出现的问题 [RTTI]