Библиотека Generic классов - ошибки, описание, вопросы, особенности использования и предложения - страница 24
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вопрос о получении значения по ключу. В коде библиотеки этот метод выглядит так
Да, этот код может ввести в заблуждение из-за нестандартного переназначения i в for.
Сначала мы обращаемся к подмассиву по его индексу, который может содержать наше значение: i=m_buckets[hash_code%m_capacity]; (т.е. i индекс подмассива или корзины значений).
Затем в этом же for индекс корзины превращается в индекс элементов корзины: i=m_entries[i].next
В действительности код написан верно, т.к. в типичном случае в каждом подмассиве будет в среднем один елемент и цикл опять-таки в среднем будет выполнится лишь единожды.
Да, этот код может ввести в заблуждение из-за нестандартного переназначения i в for.
Сначала мы обращаемся к подмассиву по его индексу, который может содержать наше значение: i=m_buckets[hash_code%m_capacity]; (т.е. i индекс подмассива или корзины значений).
Затем в этом же for индекс корзины превращается в индекс элементов корзины: i=m_entries[i].next
В действительности код написан верно, т.к. в типичном случае в каждом подмассиве будет в среднем один елемент и цикл опять-таки в среднем будет выполнится лишь единожды.
Понял так, что цикл сделан на случай коллизий: пройтись по мини-списку.
Понял так, что цикл сделан на случай коллизий: пройтись по мини-списку.
Да, совершенно верно.
Попользовался шаблонной библиотекой (CArrayList) для хранения пользовательских типов. Впечатление - не в восторге. Для хоть какого-то удобство писал макросы
Излишняя защита от дурака в TryGetValue + невозможность передать классы по значению делают использование мучительным.
Скажите, может я чего не понимаю, но если пытаюсь использовать конструкцию такого типа:
то ловлю ошибку:
'Option' - objects are passed by reference only ICollection.mqh 14 18
ну и там полный стэк ошибок дальше...Скажите, может я чего не понимаю, но если пытаюсь использовать конструкцию такого типа:
то ловлю ошибку:
'Option' - objects are passed by reference only ICollection.mqh 14 18
ну и там полный стэк ошибок дальше...Попробуйте так:
Попробуйте так:
Передавать/хранить указатели в коллекцию неверно концептуально.
Передавать/хранить указатели в коллекцию неверно концептуально.
нету под MQL ни одного хотя бы мало мальски пригодного дженерика. у всех есть серьезные косяки. пользуйте встроенный массив, меньше голова болеть будет
нету под MQL ни одного хотя бы мало мальски пригодного дженерика. у всех есть серьезные косяки. пользуйте встроенный массив, меньше голова болеть будет
ну так то да, массив заюзал. Просто зачем создавать коллекции и выкладывать их в кодобазу если они годятся только для встроенных типов?)