EgoRusMarch
@EgoRusMarch
C++ Developer

Как выбрать тип в runtime?

Смотрел type traits и RTTI, но на сколько понял RTTI только определяет тип, а type traits работают только в compile-time.

Например, я в runtime получаю значение, и мне нужно в зависимости от этого определить переменную нужного типа. Как?
  • Вопрос задан
  • 112 просмотров
Решения вопроса 2
@res2001
Developer, ex-admin
1.Вместе со значением передавайте информацию о типе в каком-нибудь виде
2.Определяйте тип по содержимому, если это возможно.
Ответ написан
std::any позволяет сохранить в себя объект любого типа, после чего через any_cast вытащить значение, если оно такого типа, как мы предполагаем. Проверка осуществляется через RTTI. Если поддерживается много конкретных типов, вы должны писать здоровенную цепочку if-else-if. В таком случае лучше уж идти через наследование.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы