Jon*_*Mee 3 c++ dynamic-cast casting parent-child reinterpret-cast
这个问题是关于应该使用哪种C++样式转换进行此转换.我知道C风格的演员可以达到这个目的.
对于以下class结构:
class Foo {};
class Bar : public Foo {};
Run Code Online (Sandbox Code Playgroud)
说我得到了:Foo* ptr;我想把它投射到Bar*我应该使用哪种类型的演员表?好像我必须dynamic_cast按原样使用:
用于转换多态类型
我想避免,dynamic_cast因为它是一个运行时转换.
你是dynamic_cast对的,这通常是最适合这种情况的.但是,如果您知道指针实际指向派生类的对象,则可以static_cast用于转换.如果你错了并且指针不是派生类,你将得到未定义的行为.
| 归档时间: |
|
| 查看次数: |
1927 次 |
| 最近记录: |