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