- 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 ist eine Klasse des dynamischen Arrays von Zeigern auf Instanzen von CObject-Klasse und ihre geerbten Klassen.
Beschreibung
CArrayObj bietet die Möglichkeit mit einem dynamischen Array von Zeigern auf Instanzen von CObject-Klasse und ihre geerbten Klassen. Dies erlaubt mit mehrdimensionalen dynamischen Arrays von primitiven Datentypen und mit komplexen Datenstrukturen zu arbeiten.
Die Klasse erlaubt Array-Elementen hinzuzufügen/einzufügen/zu löschen, ein Array zu sortieren, in einem Sortierten Array zu suchen. Darüber hinaus sind Methoden für Arbeit mit einer Datei implementiert.
Es gibt bestimmte Arbeitseinzelheiten für die Klasse CArrayObj.
Deklaration
class CArrayObj : public CArray |
Kopf
#include <Arrays\ArrayObj.mqh> |
VererbungshierarchieCArrayObj Direkte Ableitungen |
Gruppen der Klassenmethode
Attribute |
|
---|---|
Erhält den Flag von Speicherverwaltung |
|
Setzt den Flag von Speicherverwaltung |
|
Speicherverwaltung |
|
Reserviert Speicher, um die Größe des Arrays zu erhöhen |
|
Setzt eine neue Größe des Arrays (kleinere) |
|
Klärt ein Array mit vollständige Freigabe vom Arrary-Speicher (nicht seiner Elementen). |
|
Das Erstellen eines neuen Elements |
|
virtual CreateElement |
Erstellt ein neues Element des Arrays an der angegebene Position. |
Füllung |
|
Fügt ein Element am Ende des Arrays hinzu |
|
Am Ende des Arrays fügt Elementen aus einem anderen Array hinzu |
|
Fügt ein Element in das Array an die angegebene Position ein |
|
Fügt Elementen aus einem anderen Array ins angegebene Array beginnend mit der angegebenen Position ein |
|
Kopiert Elementen aus einem anderen Array ins angegebenen Array |
|
Änderung |
|
Ändert ein Element an der angegebenen Position des Arrays |
|
Verschiebt ein Element aus der angegebenen Array-Position an der angegebenen Verschiebung |
|
Löschen |
|
Erhält ein Element an der angegebene Position und löscht es vom Array |
|
Löscht ein Element an der angegebene Position des Arrays |
|
Löscht eine Gruppe von Elementen an der angegebene Position des Arrays |
|
Löscht alle Elemente des Arrays ohne Speicherfreigabe. |
|
Zugriff |
|
Erhält ein Element an der angegebene Position des Arrays |
|
Vergleich |
|
Vergleicht ein Array mit einem anderen Array |
|
Operationen mit einem sortierten Array |
|
Fügt ein Element in ein sortiertes Array ein |
|
Sucht nach einem Element in einem sortierten Array, das gleich dem Muster ist |
|
Sucht nach einem Element in einem sortierten Array, das größer als das Muster ist |
|
Sucht nach einem Element in einem sortierten Array, das kleiner als das Muster ist |
|
Sucht nach einem Element in einem sortierten Array, das größer als oder gleich dem Muster ist |
|
Sucht nach einem Element in einem sortierten Array, das kleiner als oder gleich dem Muster ist |
|
Sucht nach dem ersten Element in einem sortierten Array, das gleich dem Muster ist |
|
Sucht nach dem letzten Element in einem sortierten Array, das gleich dem Muster ist |
|
Eingabe/Ausgabe |
|
virtual Save |
Speichert Array-Daten in eine Datei |
virtual Load |
Lädt Array-Daten aus einer Datei |
virtual Type |
Erhält die Array-Typ-Identifikator. |
Methoden geerbt von der Klasse CObject Prev, Prev, Next, Next, Compare |
---|
Methoden geerbt von der Klasse CArray Step, Step, Total, Available, Max, IsSorted, SortMode, Clear, Sort |
Arrays von abgeleiteten Klassen von CObject (einschließlich aller Klassen der Standard-Bibliothek) haben praktische Anwendung.
Betrachten wir zum Beispiel die Implementierung einer zweidimensionalen Anordnung:
#include <Arrays\ArrayDouble.mqh>
|
Arbeitseinzelheiten
Die Klasse hat einen Mechanismus zur dynamischen Speicherverwaltung, so müssen Sie bei der Arbeit mit den Array-Elementen sehr vorsichtig sein.
Der Speicherverwaltungsmechanismus kann durch die Methode FreeMode(bool) aktiviert/deaktiviert werden. Der Speicherverwaltungsmechanismus ist standardmäßig aktiviert.
Dementsprechend gibt es zwei Möglichkeiten für die Arbeit mit der CArrayObj-Klasse:
1. Der Speicherverwaltungsmechanismus ist aktiviert. (Standard)
In diesem Fall übernimmt CArrayObj die Verantwortung für die Speicherfreigabe von Elementen nach der Entfernung aus dem Array. Das Programm des Benutzers soll nicht die Array-Elemente freigeben.
Anwendungsbeispiel:
int i;
|
2. Der Speicherverwaltungsmechanismus ist deaktiviert.
In diesem Fall übernimmt CArrayObj keine Verantwortung für die Speicherfreigabe von Elementen nach der Entfernung aus dem Array. Das Programm des Benutzers muss die Array-Elemente freigeben.
Anwendungsbeispiel:
int i;
|