2017-02-17 2 views
-1

У меня есть два указателя std::type_info t1 и std::type_info t2. Как я могу узнать, является ли t1 подпапкой t2? У меня нет другой информации.Выяснение, является ли объект std :: type_info подтипом другого объекта std :: type_info в C++

+0

Вы попробовали ['std :: is_base_of'] (http://en.cppreference.com/w/cpp/types/is_base_of)? Откуда появился типinfo? –

+0

«type_info» представляет только информацию о названии типов и некоторой информации о порядке реализации. Если два «подтипа» сравниваются равными, они соответствуют одному и тому же фактическому типу. Однако нет способа получить информацию о других отношениях (таких как подтипирование) между фактическими типами. – Peter

+0

'std :: type_info t1' - это тип исключения, которое я перехватываю. – SHolz

ответ

1

У меня есть два указателя std::type_info t1 и std::type_info t2. Как я могу узнать, является ли t1 подтипом t2? У меня нет никакой другой информации

В стандарте не определены отношения между двумя экземплярами std::type_info. Если ваша платформа не предоставляет дополнительную информацию, вы не можете определить, является ли тип, соответствующий t1, подтипом типа, соответствующего t2.

Смежные вопросы