Особенности языка mql5, тонкости и приёмы работы - страница 124
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не помню, было здесь или нет, но может кому пригодиться. Когда нужно перегрузить метод параметризированного класса только по тому признаку, принимает он аргумент одного и того же типа по значению, или по ссылке (структуры передаются только по ссылке, простые типы чаще всего по значению). Это можно сделать таким способом (причем, второй template именно применять к варианту без &, иначе основная типизация по структурам не станет компилироваться)
Обсуждение здесь.
Не помню, было здесь или нет, но может кому пригодиться. Когда нужно перегрузить метод параметризированного класса только по тому признаку, принимает он аргумент одного и того же типа по значению, или по ссылке (структуры передаются только по ссылке, простые типы чаще всего по значению). Это можно сделать таким способом (причем, второй template именно применять к варианту без &, иначе основная типизация по структурам не станет компилироваться)
Тогда получается, что класс, предназначенный для типа структуры, может принимать всякие числовые типы. И что с ними делать?
Тогда получается, что класс, предназначенный для типа структуры, может принимать всякие числовые типы. И что с ними делать?
В данном случае класс предназначен для смешанного типа - и для структур и для простых типов, иначе эта конструкция лишена смысла. Чтобы не принимать не нужные типы в F, можно там написать проверку на typename(F), sizeof(F) и т.п.
В данном случае класс предназначен для смешанного типа - и для структур и для простых типов, иначе эта конструкция лишена смысла. Чтобы не принимать не нужные типы в F, можно там написать проверку на typename(F), sizeof(F) и т.п.
typename не защитит от приёма ненужных типов ) Для этого нужно делать перегруженный приватный метод с соответствующим типом.
А если класс предназначен для любых типов, то зачем его параметризовать шаблонным параметром, создавая путаницу? Если только в костыле такое использовать. Хотя для костыля есть более простые варианты, без шаблонных классов.
если класс предназначен для любых типов, то зачем его параметризовать шаблонным параметром, создавая путаницу?
Так как Вы примите нужный тип, который может быть любым, не совершая параметризации? Нельзя ведь объявить параметр или поле без указания типа. Например, это может быть класс-"обертка" на произвольный тип данных.
typename не защитит от приёма ненужных типов )
Если написать typename(F)==typename(T), то защитит.
Так как Вы примите нужный тип, который может быть любым, не совершая параметризации? Нельзя ведь объявить параметр или поле без указания типа. Например, это может быть класс-"обертка" на произвольный тип данных.
Ну тогда это просто класс A. Зачем объявлять шаблон, если его параметр по смыслу никак не связан с поведением класса?
Если написать typename(F)==typename(T), то защитит.
Это уж совсем жесть. Переносить типоконтроль на стадию выполнения... Ваши коды придётся годами потом отлаживать
Подскажите, пожалуйста, где можно подсмотреть обычный трейлинг стоп для пятерки?
iSAR iOsMA EA - Trailing
iSAR iOsMA EA - Trailing
Спасибо!