Имею класс:
class IMessage
{
public:
virtual int GetType() const = 0;
};
class MessageClick
{
public:
virtual int GetType() const {return MT_CLICK;}
};
А потом в коде нужно, имея IMessage, узнать тип сообщения и привести его к этому типу. Так вот встал вопрос:
что быстрее: switch (p->GetType()) или последовательный if (MessageClick* p2 = dynamic_cast<MessageClick*>(p)){} else if...
Кто-нибудь знает насколько быстро работает dynamic_cast по сравнению с вызовом виртуальной функции?