Допустим, существует следующая иерархия классов:
class A{
public:
A(){}
virtual void m(){}
};
class B: public A{
public:
B(){}
virtual void m(){}
};
Как правильнее приводить А* к В*: при помощи dynamic_cast или typeid + static_cast, при условии, что я знаю, что объект не может быть наследником B?