- 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
CArrayObj é uma classe de array dinâmico de ponteiros para instâncias de CObject e seus herdeiros.
Descrição
A classe CArrayObj possibilita trabalhar com um array dinâmico de ponteiros para instâncias de CObject e seus herdeiros. Isto dá a possibilidade de trabalhar como arrays dinâmicos multidimensionais de tipos de dados primitivos e para estruturas de dados organizados mais difíceis.
Na classe implementada existe a possibilidade de adicionar/inserir/excluir elementos em: array, ordenação de array e pesquisando em array ordenado. Além disto, implementa métodos para trabalhar com o arquivo.
Existem certas sutilezas na classe CArrayObj.
Declaração
class CArrayObj : public CArray |
Título
#include <Arrays\ArrayObj.mqh> |
Hierarquia de herançaCArrayObj Descendentes diretos |
Método de Classe
Atributos |
|
---|---|
Obtém o flag de gerenciamento de memória |
|
Define o flag de gerenciamento de memória |
|
Controle de memória |
|
Memória alocada para aumentar o tamanho do array |
|
Define um novo tamanho (mais pequeno) do array |
|
Limpa o array com uma isenção total do array de memória (não do elemento). |
|
Métodos para adicionar |
|
Adiciona um elemento para o final do array |
|
Adiciona um elemento para o final do array |
|
Insere um elemento no array para uma posição específica |
|
Insere um array de elementos a partir de outro array com posição específica |
|
Copia os elementos array a partir de outro array |
|
Métodos de atualização |
|
Altera o elemento na posição do array determinado |
|
Desloca um item a partir de uma dada posição no array para um deslocamento determinado |
|
Métodos para excluir |
|
Obtém o elemento a partir da posição determinada e remove-o a partir do array |
|
Remove o elemento a partir de uma posição específica no array |
|
Exclui um grupo de elementos a partir de uma posição específica no array |
|
Remove todos os elementos do array, sem a liberação do array de memória |
|
Métodos de acesso |
|
Obtém o elemento a partir de uma posição dada no array |
|
Métodos para comparar |
|
Compara o array com outro array |
|
Operações de array ordenado |
|
Elemento de inserções em array ordenado |
|
Procura por um elemento igual ao modelo em array ordenado |
|
Procura por um elemento de mais amostras em array ordenado |
|
Procura por um elemento menor do que a amostra em array ordenado |
|
Procura por um elemento maior ou igual ao modelo em array ordenado |
|
Procura por um elemento menor ou igual ao modelo apresentado em array ordenado |
|
Localiza o primeiro elemento igual ao modelo em array ordenado |
|
Localiza o último elemento igual ao modelo em array ordenado |
|
Entrada/saída |
|
Salva array de dados no arquivo |
|
Carrega array de dados a partir de um arquivo |
|
Obtém o identificador do tipo do array |
Métodos herdados da classe CObject Prev, Prev, Next, Next, Compare |
---|
Métodos herdados da classe CArray Step, Step, Total, Available, Max, IsSorted, SortMode, Clear, Sort |
A aplicação prática dos arrays são descendentes da classe CObject (incluindo todas as classes da biblioteca padrão).
Por exemplo, considere as opções para o array bidimensional:
#include <Arrays\ArrayDouble.mqh>
|
Sutilezas #
A classe tem um mecanismo para controlar a dinâmica de memória, por isso tenha cuidado ao trabalhar com elementos do array.
Mecanismo de gerenciamento de memória pode ser ligado / desligado através do método FreeMode (bool). Por padrão, o mecanismo é ativado.
Por conseguinte, existem duas opções para lidar com a classe CArrayObj classe:
1. Mecanismo de gerenciamento de memória está ativada. (padrão)
Neste caso, a CArrayObj assume a responsabilidade de liberar os elementos de memória após a sua remoção do array. Neste programa o usuário não deve liberar os elementos do array.
Exemplo
int i;
|
2. Mecanismo de gerenciamento de memória está desativado.
Neste caso, a CArrayObj não assume a responsabilidade para liberar os elementos de memória após a sua remoção do array. Neste programa o usuário deve liberar os elementos do array.
Exemplo
int i;
|