Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В MQL? Не слышал. В документации не могу найти. Если не затруднит, скиньте ссылку на описание.
Ну а если речь про std::variant, то суть его примерно такая же, как я описал.
Там union под капотом
Задача - сохранить данные, тип которых впоследствии выберет пользователь. Для примера ограничимся четырьмя типами данных, хотя на самом деле их намного больше. Если делать без преобразования в строку, то нужно изначально создать все варианты типов данных, записав в соответствующий тип введенные данные:
Хотя уже тут можно возразить, что bool, int и long можно свести к одному типу или использовать объединение. Но, напоминаю, это пример.
А можно не городить огород (типов данных намного больше 4-х) и записать любой тип данных сразу в строку, просто добавив указание типа данных:
Да, теряем в производительности на преобразованиях из строки и в строку. Но это небольшая плата за универсальность.
Это, скорее, для интерпретаторов и динамической типизации. Для компиляторов - только тормоза.
Я имел в виду VARIANT из WINAPI. Можете увидеть его в моей библиотеке.
В std::variant тоже нет преобразования в строку.
Здесь реализован первый вариант, который я описал. То есть имеется такое же перечисление типов данных (перечисление VARIANT). Для каждого типа данных имеется свой метод получения данных. Все то же самое. Этот вариант тоже можно использовать, когда нет потребности в универсальности.
Здесь реализован первый вариант, который я описал. То есть имеется такое же перечисление типов данных (перечисление VARIANT). Для каждого типа данных имеется свой метод получения данных. Все то же самое. Этот вариант тоже можно использовать, когда нет потребности в универсальности.
Да и нет никогда потребности в такой универсальности.