![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Уважаемый, следите за контекстом.
1) Когда Вы из одной контролируемой и безопасной среды прыгаете в абсолютно неконтролируемый сырой буфер, то именно Вы отвечаете за совместимость с той бинарной средой.
2) Когда Вы пишите код, то именно Вы отвечаете за архитектуру этого кода. И не надо плакаться, что "трудно впрячь коня и трепетную лань в одну телегу" при использовании разных структур.
3) Рекомендую прочитать описание CLBufferRead и CLBufferWrite - за счет универсальной void* ссылки есть возможность передачи в OpenCL ссылки любого типа. Причем есть и смещения и размеры.
1. Я готов к этой ответственности. // поправляя воображаемый галстук и с трудом сдерживая смех.
2. Я не плачусь. Просто глупо писать собственные двух-трёх-мерные массивы, которые вроде в языке уже есть. А приходится.
3. Я проверю. В старой редакции передача двумерного массива НЕ РАБОТАЛА. В новой не пробовал по старой памяти.
// А в ArrrayCopy() ваш void тоже вроде бы есть, но плюшевый и распространяется только на тип массива, но не на размерность.
Пошёл проверять третий пункт.
Вы именно плачетесь, попутно обвиняя нас в недостатках. Поэтому не нужно клоунады.
О многомерных массивах:
- многомерные массивы работают
- используйте ООП, держите/скрывайте массивы внутри классов
- поменьше занимайтесь неразумной передачей многомерных массивов в виде параметров
- активно используйте структуры - они кратно облегчают жизнь и контроль, уменьшая сложность
Сразу станет легче и правильнее.Вы именно плачетесь, попутно обвиняя нас в недостатках. Поэтому не нужно клоунады.
О многомерных массивах:
- многомерные массивы работают
- используйте ООП, держите/скрывайте массивы внутри классов
- поменьше занимайтесь неразумной передачей многомерных массивов в виде параметров
- активно используйте структуры - они кратно облегчают жизнь и контроль, уменьшая сложность
Сразу станет легче и правильнее.Я усё перечисленное делаю. А недовольство было обоснованным, поскольку (например) в предыдущей версии не работал вот этот код:
И приходилось переписывать массив лишних два раза в каждом цикле обработки (см. закомментированный код)
В другой версии у меня сделан виртуальный свой объектный массив (примерно как у Николая), но им пользоваться тоже коряво (особенно при прописывании генетики) - синтаксис функциональный выматывает местами.
Сейчас код работает, двумерный массив в буфер действительно пишется. Это прогресс. :)
Ладно, Мир, Дружба, Жвачка... :) Если сделаете перегрузку операторов, синтаксис я сам поправлю.
Перегрузку операторов уже сделали, будет доступно в следующем билде.
Вау !! Вот это порадовали.
За это огромное спасибо всему коллективу разработчиков !
Теперь можно будет писать действительно красивый код.
Перегрузку операторов уже сделали, будет доступно в следующем билде.
А чего такими маленькими буквами? вопрос риторический
лучше так:
Перегрузку операторов уже сделали, будет доступно в следующем билде.
Перегрузка операторов для меня новое понятие. Нашёл вот здесь подробное описание: http://programmersclub.ru/24/
Это оно?
Перегрузка операторов для меня новое понятие. Нашёл вот здесь подробное описание: http://programmersclub.ru/24/
Это оно?
А чего такими маленькими буквами? вопрос риторический. лучше так:
Перегрузку операторов уже сделали, будет доступно в следующем билде.
Да, это будет очень торжественный билд.
:)
Боюсь, что Вы не захотели заметить совпадение описания:
Второй вариант гораздо чище, мощнее и с более контролируем. Придумывать при существующем способе другую более слабую сущность нет никакого резона.
Второй вариант описания это не проблема. Проблема, что при использовании синтаксис меняется не в лучшую сторону.
Предлагаю мощный и абсолютно безопасный компромисс : поля "по умолчанию". Ключевое слово default полностью решает синтаксические разногласия. :)
В данном случае.
(В С++ есть, в C# есть, в Делфи есть и т.д.)
Т.е. при обращении к к такому полю, достаточно вместо Int8Var.arr[i] написать Int8Var[i] - компилятор поймёт правильно.
// И главное не забыть это сделать не только для классов, но и для структур. :)