Nar*_*uto 2 c++ polymorphism casting
我想从上层指针转换为低级类,即从基类指针转换为派生类指针.
我应该使用"Dynamic_cast"还是"reinterpret_cast"?请指教
sha*_*oth 11
不要使用reinterpret_cast- 使用static_cast或dynamic_cast.如果你确定指针完全是派生类对象的使用static_cast,否则使用dynamic_cast(这将要求基类是多态的)并检查结果以确保指针确实是你想要的类.
这取决于你对指针的了解.
如果您确定您拥有的指针是子类型,那么您可以static_cast<>安全地使用它.
如果你不确定,那就去,dynamic_cast<>但这有成本,而且速度较慢.
| 归档时间: |
|
| 查看次数: |
1044 次 |
| 最近记录: |