Ошибки, баги, вопросы - страница 2326
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
нет щас никакой концепции, объект и указатель на него смешаны в одну кучу
Это как раз и дает возможность оперировать с указателями как с объектами, что дает в ряде случаев более простую и понятную запись без *
и кроме того такие указатели можно использовать как ссылки
А сейчас предлагается все это разрушить и вернуться в каменный век непонятно ради чего
А сейчас предлагается все это разрушить и вернуться в каменный век непонятно ради чего
ну это ваше мнение. я считаю ровно наоборот
ну это ваше мнение. я считаю ровно наоборот
A100:
А что конкретно Вас не устраивает? Что в MQL указатель это фактически ссылка?
вообще-то это не так )
При том что в MQL адресная арифметика лишена смысла и потому не используется!?
вообще-то это не так )
у умных указателей тоже нет адресной арифметики, но ими почему-то пользуютсяСтрого говоря - нет так, но в отсутствии адресной арифметики указатель\описатель MQL ближе (или по крайней мере не дальше) к С++ ссылке чем к С++ указателю
А раз так, то и синтаксис должен быть сохранен соответствующий (без *)
Нет, серьёзных причин не было.
Единственное оправдание его отсутствия - это забота о неокрепших умах пользователей, не знакомых с C++.
Строго говоря - нет так, но в отсутствии адресной арифметики указатель\описатель MQL ближе (или по крайней мере не дальше) к С++ ссылке чем к С++ указателю
А раз так, то и синтаксис должен быть сохранен соответствующий (без *)
Зачем так усложнять? Вполне достаточно сделать . и -> равноценными, взаимозаменяемыми записями
Образно говоря
Если сделать их взаимозаменяемыми, тогда они оба просто не нужны.
В C++ возможно такое:
Оператор -> действительно стоило бы добавить в язык, во-первых с целью совместимости с кодами C++, а во-вторых для возможности его перегрузки (это удобно для умных указателей).
Но не равноценным точке, разумеется. Точка - это универсальный оператор в MQL.
Почему в MQL до сих пор не исправлен баг, что базовый класс неявно приводится к производному классу? Даже предупреждения компилятора нет!