EgoRusMarch
@EgoRusMarch

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

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

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

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

Войти через центр авторизации
Похожие вопросы
igooods Санкт-Петербург
от 120 000 до 180 000 ₽
МТС Москва
от 140 000 до 250 000 ₽
РГСофт Логистика Новосибирск
от 100 000 до 120 000 ₽