- Encabezado de plantilla
- Principios generales de funcionamiento de la plantilla
- Plantillas frente a macros de preprocesador
- Características de tipos integrados y objetos en plantillas
- Plantillas de funciones
- Plantillas de tipos de objetos
- Plantillas de métodos
- Plantillas anidadas
- Ausencia de especialización de plantillas
Plantillas
En los lenguajes de programación modernos existen muchas funciones integradas que le permiten evitar la duplicación de código y, por tanto, minimizar el número de errores y aumentar la productividad del programador. En MQL5, dichas herramientas incluyen las ya conocidas funciones, tipos de objeto que admiten herencia (clases y estructuras), macros de preprocesador y la capacidad de incluir archivos. Pero esta lista estaría incompleta sin las plantillas.
Una plantilla es una definición genérica especialmente diseñada de una función o tipo de objeto a partir de la cual el compilador puede generar automáticamente instancias de trabajo de esa función o tipo de objeto. Las instancias resultantes contienen el mismo algoritmo pero operan sobre variables de distinto tipo, correspondientes a las condiciones de uso específicas de la plantilla en el código fuente.
Para los que conocen C++, señalamos que las plantillas de MQL5 no admiten muchas características de las plantillas de C++, en particular:
- parámetros que no son tipos;
- parámetros con valores por defecto;
- número variable de parámetros;
- especialización de clases, estructuras y asociaciones (total y parcial);
- plantillas para plantillas.
Por un lado, esto reduce el potencial de las plantillas en MQL5, pero, por otro, simplifica el aprendizaje del material para quienes no estén familiarizados con estas tecnologías.