Ошибки, баги, вопросы - страница 2461
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот эту мысль могли бы озвучить подробнее?
Ниже мое субъективное мнение, если где-то не прав, буду рад помощи.
StringLen раньше работал O(n) до первого NULL символа (0x0000) в строке, сейчас работает O(1).
Длину строки всегда можно было обрезать через StringSetCharacter(str, pos, 0x00), но зачем-то вводят StringSetLength.
Скорее всего решали задачу ускорения кода при работе со строками.
Задачу ускорения решили, а то что половина функционала теперь работает с NULL символами в строке, а другая нет - ни кого не заботит.
Результат:
Ниже мое субъективное мнение, если где-то не прав, буду рад помощи.
StringLen раньше работал O(n) до первого NULL символа (0x0000) в строке, сейчас работает O(1).
Длину строки всегда можно было обрезать через StringSetCharacter(str, pos, 0x00), но зачем-то вводят StringSetLength.
Скорее всего решали задачу ускорения кода при работе со строками.
Задачу ускорения решили, а то что половина функционала теперь работает с NULL символами в строке, а другая нет - ни кого не заботит.
Результат:
StringLen раньше работал O(n) до первого NULL символа (0x0000) в строке, сейчас работает O(1)
Разработчикам:
Прошу добавить возможность указания принудительной генерации кода для оператора присвоения (конструктор копирования) по умолчанию:
Что то как-то сложно. Проще по аналогии с конструктором по умолчанию:
1) любой оператор присваивания отменяет оператор присваивания по умолчанию
2) любой оператор копирования отменяет оператор копирования по умолчанию
Просто частично исправили ошибки ... почему бы и нет!?
По тому что в MQL нет целостной идеи при работе со строками с NULL символами в этом и проблема.
Например StringToShortArray поддерживает NULL символы в строке, а обратная ей функция ShortArrayToString уже нет...
В результате, больше времени уходит на отлов багов и поиск workaround-ов, чем на решение конкретных задач.
Что то как-то сложно. Проще по аналогии с конструктором по умолчанию:
1) любой оператор присваивания отменяет оператор присваивания по умолчанию
2) любой оператор копирования отменяет оператор копирования по умолчанию
Мне не нужна отмена, нужна наоборот принудительная генерация.
В MQL нет функционала на deep copy сложных типов, а в операторе присваивания и конструкторе копирования они реализованы по дефолту.
По тому что в MQL нет целостной идеи при работе со строками с NULL символами в этом и проблема.
Например StringToShortArray поддерживает NULL символы в строке, а обратная ей функция ShortArrayToString уже нет...
С одной стороны да, с другой стороны об этом явно указано в Документации: "либо до встречи терминального 0"
С одной стороны да, с другой стороны об этом явно указано в Документации (что нет)
А в StringToShortArray написано то же:
Однако это не мешает ему адекватно обрабатывать NULL символы в строке.