std::vector<T>::iterator, оптимальное названия макроса по разыменовыванию итераторов в MQL (детали в первом посте) - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Но само решение все равно интересно ) будет код макроса и контейнера?
Если удасться довести проект до логического конца - то весьма вероятно, что код будет предоставлен.
Проблема в том, что не смотря на всю банальность в реальности требуется достаточно много времени на его реализацию, а особенно тестирование.
Вот и получается, что вещь весьма полезная, а стимула то особого и нет, так как на MQL фактически не пишу и пользоваться не буду...
Пока что в планах:
...на MQL фактически не пишу и пользоваться не буду...
Пока что в планах:
Странный случай. Вам, получается, заняться больше нечем? Тут многим вынужденно приходится юзать этот MQL, изобретая адские костыли и проклиная всё это последними словами. А вы просто так занимаетесь этим садо-мазо? Да уж, месье знает толк в извращениях...
А кто вас заставляет?
И костыли не надо изобретать, достаточно применять методы, адекватные языку программирования, а не пытаться утюгом гвозди забивать.
Странный случай. Вам, получается, заняться больше нечем? Тут многим вынужденно приходится юзать этот MQL, изобретая адские костыли и проклиная всё это последними словами. А вы просто так занимаетесь этим садо-мазо? Да уж, месье знает толк в извращениях...
Всегда есть альтернатива. И языку, и форуму. Или костыли, разбавленные проклинаниями - тоже некая странная разновидность филии?
Всегда есть альтернатива. И языку, и форуму. Или костыли, разбавленные проклинаниями - тоже некая странная разновидность филии?
Люди доброе пытаются сделать. А вот поделка от СБ:
Попробуйте скомпилировать)))
Кстати, все это можно решить:
Правда не тестировал толком.А про r-value ссылки даже заикаться страшно)))
Люди доброе пытаются сделать. А вот поделка от СБ:
Попробуйте скомпилировать)))
Кстати, все это можно решить:
Правда не тестировал толком.А про r-value ссылки даже заикаться страшно)))
Кто ж против доброго? Тем более сделать. Тем более для сообщества.
Я не о Сергее говорил, и не ему отвечал.
А про r-value ссылки даже заикаться страшно)))
В смысле про move семантику? Конечно, можно даже не мечтать.
Кстати, все это можно решить:
Правда не тестировал толком.Будет ошибка неоднозначности в некоторых случаях. Да и замаетесь лазить по коду, если случайно передадите неправильный аргумент в шаблонный метод. Без поддержки SFINAE, шаблоны - тот ещё гемор.
Будет ошибка неоднозначности в некоторых случаях. Да и замаетесь лазить по коду, если случайно передадите неправильный аргумент в шаблонный метод. Без поддержки SFINAE, шаблоны - тот ещё гемор.
Не будет. При компиляции шаблонного класса с параметром типа структуры метод Add(T1 value) скомпилирован не будет, а если параметром является примитивный тип, то наоборот, не будет скомпилирован Add(const T1 &value). При этом типобезопастность сохраняется. Если отсутствует возможность неявного приведения T1 к T, то будет ошибка компиляции. Вот простой пример.
Не будет. При компиляции шаблонного класса с параметром типа структуры метод Add(T1 value) скомпилирован не будет, а если параметром является примитивный тип, то наоборот, не будет скомпилирован Add(const T1 &value). При этом типобезопастность сохраняется. Если отсутствует возможность неявного приведения T1 к T, то будет ошибка компиляции. Вот простой пример.
Попробуйте передать const int.
А насчёт ошибки компиляции - так вы обратите внимание, в каком месте она возникает. И как вы собираетесь искать первоисточник ошибки. Здесь то у вас всё очевидно, т.к. весь код перед глазами. А если ваш проект содержит кучу файлов, и данный метод вызывается из сотен мест в программе? Причём он мог быть вызван не напрямую, а опосредовано, из других шаблонов. Т.е. чтобы добраться до сути, придётся разматывать весь клубок шаблонных переходов. Я в своё время хлебнул горя с этим в MQL. Теперь напрямую шаблонные методы практически не вызываю. Только посредством обёртки из макроса, выполняющего предварительные проверки наподобие Sfinae.