- Ganzzahlige Typen
- Realtypen (double, float)
- Komplexen Zahlen (complex)
- Typ string
- Strukturen, Klassen und Schnittstellen
- Objekt des dynamischen Arrays
- Matrizen und Vektoren
- Typenreduzierung
- Typ void und Konstante NULL
- Benutzerdefinierte Typen
- Objektanzeiger
- Referenzen. Modifikator& und Schluesselwort this
Objekt des dynamischen Arrays
Dynamische Arrays
Maximum kann ein vierdimensionales Array zugelassen. Bei der Erklaerung des dynamischen Arrays (Array mit einem nicht angegebenen Wert im ersten Paar der eckigen Klammern) erzeugt der Compiler automatisch eine Variable der oben angegebenen Struktur (Objekt des dynamischen Feldes) und stellt den Kode für die richtige Initialisierung bereit.
Dynamische Arrays werden automatisch befreit, wenn sie ausserhalb des Blocks gehen, wo sie erklärt werden.
Beispiel:
double matrix[][10][20]; // dreidimensionales dynamischer Feld
|
Statische Arrays
Bei der explizeten Angebung aller bedeutenden Dimensionen des Arrays, verteilt der Compiler im voraus die erforderliche Speichergroesse. Ein solches Array wird statisch genannt. Dennoch verteilt der Compiler Speicher für Objekt des dynamischen Arrays, das (Objekt) mit dem vorher verteilten Puffer verbunden ist (Speicherteil für Feldaufbewahren).
Erzeugen eines Objekts des dynamischen Arrays ist durch die moegliche Notwendigkeit bedingt, das angegebene statische Feld in eine Funktion als Parameter zu übertragen.
Beispiele:
double stat_array[5]; // eindimensionales statisches Feld
|
Arrays als Strukturteile
Bei der Deklaration eines statischen Arrays als Teil einer Struktur wird ein Objekt des dynamischen Arrays nicht erzeugt. Das wird für Kompatibilitaet der Datenstrukturen gemacht, die in Windows API verwendet werden.
Aber statische Felder, die als Strukturglieder erklärt werden, können auch in MQL5-Funktionen übertragen werden. In diesem Fall wird bei Parameterübertragung ein zeitliches Objekt des dynamischen Feldes erzeugt werden, das mit dem statischen Array - Strukturglied verbunden ist.
Sehen Sie auch
Operationen mit Arrays, Initialisierung der Variablen, Sichtbereich und Lebensdauer der Variablen, Erzeugung und Entfernung der Objekte