type erasure:
https://pastebin.com/RVajbwzh
Хочу безболезненно, с проверкой типа вытащить значение. В лоб - сделать паблик m_Object, откастить m_pObject к Object<T> и сравнить type_id кажется тупо. Нет ли решения получше?
Возможно, я тебя не понял, проверка типа? Расскажи подробнее, что с чем проверять
И почему не сделать весь класс шаблонным, а не только функцию?
template <typename T> T getValue() { Object<T>* p = dynamic_cast<Object<T>*>(m_pObject); if( p) return p->get_Object(); throw "invalid type"; }
динамик каст?
Обсуждают сегодня