Есть ли способ использовать const std::type_info&
в качестве параметра шаблона в С++?
Например
template < typename T > class A
{
public:
A(){}
const std::type_info& type() const
{
return typeid(T);
}
};
template < typename T > void Do()
{
// Do whatever
}
int main()
{
A<int> MyA;
// Something like: Do<MyA.type()>(); or Do<typeid(MyA.type())>();
}
type_info
- это (не конструируемый constexpr) объект. Почему бы вам просто не использовать аргумент шаблона (T
)? Если вы намерены предоставить различные реализации для полиморфных классов во время выполнения, это может вас заинтересовать: different-data-types/21318361#21318361" title="как заставить один интерфейс возвращать разные типы данных"> stackoverflow.com/questions/21317403/ - person Sebastian Hoffmann   schedule 29.01.2014