- FreeMode
- FreeMode
- Reserve
- Resize
- Clear
- Shutdown
- CreateElement
- Add
- AddArray
- Insert
- InsertArray
- AssignArray
- Update
- Shift
- Detach
- Delete
- DeleteRange
- At
- CompareArray
- InsertSort
- Search
- SearchGreat
- SearchLess
- SearchGreatOrEqual
- SearchLessOrEqual
- SearchFirst
- SearchLast
- Save
- Load
- Type
CArrayObj
La clase CArrayObj proporciona un array dinámico de punteros a instancias de la clase CObject y a sus clases hijas.
Descripción
La clase CArrayObj permite trabajar con un array dinámico de punteros a instancias de CObject y a sus clases hijas. Esto brinda la posibilidad de trabajar con arrays dinámicos multidimensionales de tipos de datos primitivos, y realizar cosas más complejas con estructuras de datos organizadas.
Esta clase permite añadir, insertar y borrar elementos del array, así como ordenarlos y buscarlos en arrays ordenados. Además, los métodos implementados permiten trabajar con archivos.
La clase CArrayObj tiene algunas sutilezas.
Declaración
class CArrayObj : public CArray |
Título
#include <Arrays\ArrayObj.mqh> |
Jerarquía de herenciaCArrayObj Descendientes directos |
Método de la clase
Atributos |
|
---|---|
Obtiene la bandera de gestión de memoria |
|
Establece la bandera de gestión de memoria |
|
Control de memoria |
|
Asigna memoria para incrementar el tamaño del array |
|
Establece un nuevo tamaño, más pequeño, del array |
|
Borra el array con un array totalmente exento de memoria (sin elementos). |
|
Métodos de adición |
|
Añade un elemento al final del array |
|
Añade un elemento al final del array |
|
Inserta un elemento en la posición especificada |
|
Inserta en la posición especificada un array de elementos de otro array |
|
Copia los elementos de otro array |
|
Métodos de actualización |
|
Cambia el elemento de la posición especificada del array |
|
Mueve un ítem de una posición dada a la especificada por el desplazamiento |
|
Métodos de borrado |
|
Obtiene el elemento de la posición especificada y lo borra del array |
|
Borra el elemento de la posición especificada |
|
Borra el grupo de elementos de la posición especificada |
|
Borra todos los elementos del array sin liberar la memoria |
|
Métodos de acceso |
|
Obtiene el elemento de la posición especificada |
|
Métodos de comparación |
|
Compara el array con otro |
|
Operaciones de ordenación |
|
Inserta el elemento en el array ordenado |
|
Busca en el array ordenado un elemento igual al especificado |
|
Busca en el array ordenado el elemento mayor que el especificado |
|
Busca en el array ordenado el elemento menor que el especificado |
|
Busca en el array ordenado el elemento mayor o igual que el especificado |
|
Busca en el array ordenado el elemento menor o igual que el especificado |
|
Busca en el array ordenado el primer elemento igual al especificado |
|
Busca en el array ordenado el último elemento igual al especificado |
|
Entrada/salida |
|
Guarda los datos del array en el archivo |
|
Carga los datos en el array a partir del archivo |
|
Obtiene el identificador de tipo del array |
Métodos heredados de la clase CObject Prev, Prev, Next, Next, Compare |
---|
Métodos heredados de la clase CArray Step, Step, Total, Available, Max, IsSorted, SortMode, Clear, Sort |
Las aplicaciones prácticas de los arrays descienden de la clase CObject (incluyendo todas las clases de la Librería Estándar).
Por ejemplo, consideremos un array de dos dimensiones:
#include <Arrays\ArrayDouble.mqh>
|
Sutilezas #
La clase tiene un mecanismo de control de memoria dinámica, de modo que tenga cuidado cuando tenga que manejar los elementos del array.
El mecanismo de gestión de la memoria se puede activar y desactivar utilizando el método FreeMode (bool). El mecanismo está activado de forma predeterminada.
En consecuencia, hay dos opciones para trabajar con la clase CArrayObj:
1. Activar el mecanismo de gestión de la memoria. (predeterminado)
En este caso, CArrayObj se responsabiliza de liberar los elementos de la memoria después de eliminarse del array. En el siguiente programa, el usuario no debe liberar los elementos del array.
Ejemplo:
int i;
|
2. El mecanismo de gestión de memoria está desactivado.
En este caso, CArrayObj se responsabiliza de liberar la memoria utilizada por los elementos después de borrarlos del array. En este programa, el usuario debe liberar los elementos del array.
Ejemplo:
int i;
|