- Tipos enteros
- Tipos reales (double, float)
- Números complejos (complex)
- Tipo string
- Estructuras, clases e interfaces
- Objeto de un array dinámico
- Matrices y vectores
- Conversión de tipos
- Tipo void y constante NULL
- Tipos personalizados
- Punteros a objetos
- Referencias Modificador & y palabra clave this
Objeto de un array dinámico
Arrays dinámicos
Se permite declarar un array que no no supere 4 dimensiones. Al declarar una matriz dinámica (matriz sin valor expreso en el primer par de los corchetes), el compilador crea automáticamente una variable de la estructura indicada más arriba (objeto de matriz dinámica) y proporciona el código para una inicialización correcta.
Los arrays dinámicos se liberan automáticamente, al salir fuera de los límites de la visibilidad del bloque donde han sido declarados.
Ejemplo:
double matrix[][10][20]; // array dinámica de 3 dimensiones
|
Arrays estáticos
Si todas las dimensiones significativas de un array se indican de una manera explícita, el compilador de antemano distribuye el espacio necesario de la memoria. Este array se llama array estático. No obstante, el compilador distribuye adicionalmente la memoria para el objeto del array dinámico. Este objeto está vinculado con el búfer estático distribuido previamente (sector de memoria para almacenamiento de la matriz).
La creación de un objeto del array dinámico está condicionado a la posible necesidad de transmitir dicho array estático como un parámetro a alguna función.
Ejemplos:
double stat_array[5]; // array dinámico de 1 dimensión
|
Arrays como partes de las estructuras
Al declarar un array estático como un elemento de una estructura, el objeto del array dinámico no se crea. Esto se hace para la compatibilidad de las estructuras de datos que se utilizan en Windows API.
Sin embargo, los arrays estáticos declarados como elementos de las estructuras, también se puede pasar a las funciones MQL5. En este caso, al pasar el parámetro va a crearse un objeto de un array dinámico temporal vinculado con el array estático elemento de la estructura.
Véase también
Operaciones con arrays, Inicialización de variables, Visibilidad y tiempo de vida de variables, Creación y eliminación de objetos