- 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 Classe CArrayObj è una classe di array dinamico di puntatori ad istanze di CObject e delle sue classi derivate.
Descrizione
La Classe CArrayObj offre la possibilità di lavorare con un array dinamico di puntatori a istanze di CObject e di sue classi derivate. Questo permette di lavorare sia con array dinamici multidimensionali di tipi di dati primitivi e con strutture di dati che hanno un'organizzazione più complessa di dati.
La classe consente di aggiungere/inserire/cancellare elementi di un array, eseguire l'ordinamento di un array, e la ricerca in un array ordinato. Inoltre, sono stati implementati i metodi di lavoro con i file.
Ci sono certe sottigliezze della classe CArrayObj.
Dichiarazione
class CArrayObj : public CArray |
Titolo
#include <Arrays\ArrayObj.mqh> |
Gerarchia di ereditarietàCArrayObj Discendenti diretti |
I Metodi della Classe per Gruppi
Attributi |
|
---|---|
Ottiene la flag della gestione della memoria |
|
Imposta la flag di gestione della memoria |
|
Controllo della memoria |
|
Alloca memoria per aumentare la grandezza dell'array |
|
Imposta una nuova (più piccolo) grandezza dell'array |
|
Cancella l'array con piena deallocazione della sua memoria (ma non i suoi elementi). |
|
Creazione di un nuovo elemento |
|
virtual CreateElement |
Crea un nuovo elemento di un array nella posizione specificata |
Aggiunta metodi |
|
Aggiunta elemento alla fine dell'array |
|
Aggiunta elemento alla fine dell'array |
|
Inserisce un elemento alla posizione specificata nell array |
|
Inserisce in un array elementi di un altro array dalla posizione specificata |
|
Copia gli elementi di un array in un altro |
|
Update methods |
|
Cambia l'elemento alla posizione array specificata |
|
Sposta un elemento da una data posizione nell'array per l'offset specificato |
|
Metodi eliminazione |
|
Ottiene l'elemento dalla posizione specificata e lo rimuove dall'array |
|
Rimuove l'elemento dalla posizione specificata dell'arrat |
|
Elimina un gruppo di elementi dalla posizione specificata dell'array |
|
Rimuovere tutti gli elementi dell'array senza il rilascio della memoria array |
|
Metodi d'accesso |
|
Ottiene l'elemento dalla posizione specificata dell'array |
|
Confronta i metodi |
|
Confronta l'array con un altro |
|
Operazioni array ordinato |
|
Inserisce un elemento in un array ordinato |
|
Cerca un elemento uguale al campione(al sample) in un array ordinato |
|
Cerca un elemento con un valore superiore al valore del campione(il sample) in un array ordinato |
|
Ricerca di un elemento con un valore inferiore rispetto al valore del campione nell'array ordinato |
|
Ricerca di un elemento con un valore maggiore o uguale al valore del campione nell'array ordinato |
|
Ricerca di un elemento con un valore inferiore o uguale al valore del campione nell'array ordinato |
|
Ricerche il primo elemento pari al campione nell' array ordinato |
|
Ricerche l'ultimo elemento pari al campione nell'array ordinato |
|
Input/output |
|
Salva array di dati nel file |
|
Carica i dati dell'array dal file |
|
Ottiene il tipo identificatore array |
Metodi ereditati dalla classe CObject Prev, Prev, Next, Next, Compare |
---|
Metodi ereditati dalla classe CArray Step, Step, Total, Available, Max, IsSorted, SortMode, Clear, Sort |
Gli array della classe CObject hanno applicazione pratica (comprese tutte le classi della libreria standard).
Ad esempio, considerare le opzioni per array bidimensionali:
#include <Arrays\ArrayDouble.mqh>
|
Subtleties #
La classe ha un meccanismo di controllo della memoria dinamica, quindi state attenti quando si lavora con elementi dell'array.
Il meccanismo di gestione della memoria può essere attivato/disattivato con il metodo FreeMode (bool). Per impostazione predefinita, il meccanismo è attivato.
Di conseguenza, ci sono due opzioni per trattare con la classe CArrayObj:
1. Meccanismo di gestione della memoria è abilitata. (default)
In questo caso, CArrayObj assume responsabilità di rilasciare la memoria utilizzata per gli elementi dopo la loro rimozione dall'array. Un programma personalizzato non dovrebbe rilasciare gli elementi dell'array.
Esempio:
int i;
|
2. Il meccanismo di gestione della memoria è disabilitato.
In questo caso, CArrayObj non è responsabile per deallocazione della memoria degli elementi dopo la loro rimozione dall' array. Inoltre, il programma utente deve rilasciare gli elementi dell'array.
Esempio:
int i;
|