Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 179
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
this - это не указатель сам на себя, а указатель связанный с идентификатором поля в реализации объекта.
Т.е. в каком нибудь методе объекта может присутствовать локальная переменная с аналогичным идентификатором, как и поле и в этом случае отличить указатель на поле объекта от указателя локальной переменной можно с помощью this.
а для каких целей это может быть нужно? можно в качестве примера что ни будь?
а для каких целей это может быть нужно? можно в качестве примера что ни будь?
В данном случае при создании LineNode требуется указать родительский узел, которому будет принадлежать текущий экземпляр LineNode. После этого родительский узел сможет обращаться к этому экземпляру по ссылке на него. В данном примере слово this используется дважды. В первом случае, слово this уточняет, что переменная childNode относится именно к текущему классу, в то время как childNode без this - это одноименная переменная метода LinkWithNode. Во втором случае, this возвращает текущий экземпляр класса, а GetPointer получает указатель на него. Таким образом становиться возможным связывание LineNode уже в момент создания.
В данном случае при создании LineNode требуется указать родительский узел, которому будет принадлежать текущий экземпляр LineNode. После этого родительский узел сможет обращаться к этому экземпляру по ссылке на него. В данном примере слово this используется дважды. В первом случае, слово this уточняет, что переменная childNode относится именно к текущему классу, в то время как childNode без this - это одноименная переменная метода LinkWithNode. Во втором случае, this возвращает текущий экземпляр класса, а GetPointer получает указатель на него. Таким образом становиться возможным связывание LineNode уже в момент создания.
т.е. во втором случае это приведет к сокращению кода?
т.е. во втором случае это приведет к сокращению кода?
Нет, дело не в этом. this позволяет управлять экземпляром класса уже в его определении. Зная this мы можем навязывать конкретному экземпляру свое уникальное поведение. Тем самым достигается высокая степень гибкости и абстракции.
Подскажите. Переезжаю с mql4 на 5, собираюсь написать индикатор на 1000 или 10к буферов. Не появилась ли возможность задавать название буферов переменными.
Вроде
пока( а<1000)
{
а++ В++
имя буфера = буф+а
буф(а)=iМА(null, В,) }
И последующая обработка буеров с таким же зацикливанием
Или как нибудь ещё сократить время и код с новыми возможностями mql5.
Прежде всего ограничение вроде 256 буферов (могу ошибаться)
А с буферами все ок, можно засунуть их в классы, дать псевдонимы и искать по псевдонимам.
Где то в статьях у tol64 видел, навскидку не вспомню, поищите.
Прежде всего ограничение вроде 256 буферов (могу ошибаться)
А с буферами все ок, можно засунуть их в классы, дать псевдонимы и искать по псевдонимам.