Обсуждение статьи "Основы программирования на MQL5 - Списки" - страница 9

 
C-4:
Возможно под словом "нормальная реализация" имеется в виду реализация на шаблонах.
А это как? Что значит на шаблонах? Каким то особо выкрученным способом нажимать пальцами на клавиши при программировании?
 
Integer:
А это как? Что значит на шаблонах? Каким то особо выкрученным способом нажимать пальцами на клавиши при программировании?

Шаблоны как наследие старинного метода макроподстановок времени компиляции, на самом деле давно уже потеряли актуальность для объектно-ориентированного программирования.

В современных языках такие задачи решаются средствами времени выполнения, например генерики в C#, динамического распознавания типов RTTI и применением вариантных типов.
Есть конечно еще oldboys любители шаблонов, но ИМХО как для программера - это признак, что пора уже на пенсию.


 

 
revers45:

Шаблоны как наследие старинного метода макроподстановок времени компиляции, на самом деле давно уже потеряли актуальность для объектно-ориентированного программирования.

В современных языках такие задачи решаются средствами времени выполнения, например генерики в C#, динамического распознавания типов RTTI и применением вариантных типов.
Есть конечно еще oldboys любители шаблонов, но ИМХО как для программера - это признак, что пора уже на пенсию.

Смешно читать ) шаблоны уже давно ушли далеко от макроподстановок и вполне себе успешно существуют как отдельная парадигма.

Генерики в C# есть как раз очень урезанные шаблоны и вообще-то не времени выполнения а времени компиляции, за счет чего и скорость их использования выше )

А вот как раз RTTI и вариантные типы наводят на на нехорошие мысли...

____________________

Ладно, все это конечно классно. Но в MQL5 есть пока только шаблонные функции, классов нет (а будут?). Так что текущими средствами списки на шаблонах не реализуемы.

 
TheXpert:

Смешно читать ) шаблоны уже давно ушли далеко от макроподстановок и вполне себе успешно существуют как отдельная парадигма.

Генерики в C# есть как раз очень урезанные шаблоны и вообще-то не времени выполнения а времени компиляции, за счет чего и скорость их использования выше )

А вот как раз RTTI и вариантные типы наводят на на нехорошие мысли...

____________________

Ладно, все это конечно классно. Но в MQL5 есть пока только шаблонные функции, классов нет (а будут?). Так что текущими средствами списки на шаблонах не реализуемы.

Вам радостно, потому что ископаемые парадигмы - это ваши теплые воспоминания об ушедшем веке и похоже исчерпывающий багаж знаний.

Но не нужно из-за этого затюкивать современные подходы, поскольку MQ будут полагать, что их клиенты ностальгируют по дедовским Macro Assembler и ANSI C и игнорировать предложения по совершенствованию MQL5.   
 

 
revers45, немного не то, наконец-то въехал я о чем разговор. Есть тут такая возможность универсального записывания функций для обеспечения перегруженности. Не записывается функция для каждого типа аргументов, а пишется один шаблон функции. Ребята выше сильно попутали что-то, здесь у нас только шаблоны функций. Но с какими видами знатоков начинался разговор, а вот был задан вопрос про шаблоны, так сразу тишина настала. Походу умничающие болтуны, да и все.
 

Раз нет шаблонов, можно на макросах сделать, кто-то по-моему даже статью на эту тему писал (макросы вместо шаблонов) + аналог алгоритмов в stl тоже на макросах. Но имхо все это должно быть в стандартной библиотеке на шаблонах, неправильно как-то свои контейнеры писать (полезно только для образовательных целей), проще массивом обойтись.

upd: алгоритмы на макросах не надо, шаблоны функций есть. Не понравились виртуальные вставка/... , лучше ассерты проверяющий тип в отладочном режиме.

Причина обращения: