- 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 est la classe des tableaux dynamiques de pointeurs vers des instances de CObject et de ses descendants.
Description
La classe CArrayObj permet de travailler avec un tableau dynamique de pointeurs vers des instances de CObject et de ses descendants. Ceci permet de travailler comme avec des tableaux de types de données primitifs à plusieurs dimensions.
La classe implémente les fonctions d'ajout, d'insertion et de suppression des éléments dans un tableau, dans un tableau trié, et la recherche dans un tableau trié. Elle implémente également les méthodes permettant de travailler avec les fichiers.
Il y a quelques subtilités de la class CArrayObj.
Déclaration
class CArrayObj : public CArray |
Titre
#include <Arrays\ArrayObj.mqh> |
Hiérarchie d'héritageCArrayObj Descendants directs |
Méthode de Classe
Attributs |
|
---|---|
Retourne le flag de gestion de la mémoire |
|
Définit le flag de gestion de la mémoire |
|
Contrôle de la mémoire |
|
Alloue la mémoire pour augmenter la taille du tableau |
|
Définit une nouvelle taille du tableau (plus petite) |
|
Réinitialise le tableau et désalloue toute la mémoire. |
|
Méthode d'ajout |
|
Ajoute un élément à la fin du tableau |
|
Ajoute un élément à la fin du tableau |
|
Insére un élément dans le tableau à la position spécifiée |
|
Insére un tableau d'éléments à la position spécifiée |
|
Copie les éléments d'un autre tableau |
|
Méthodes de mise à jour |
|
Met à jour l'élément situé à la position spécifiée |
|
Déplace un élément du tableau depuis la position donnée et d'un décalage donné |
|
Méthodes de suppression |
|
Retourne l'élément du tableau situé à la position spécifiée et l'enlève du tableau |
|
Supprime l'élément du tableau situé à la position spécifiée |
|
Supprime un groupe d'éléments du tableau à partir de la position spécifiée |
|
Supprime tous les éléments du tableau sans désallouer la mémoire |
|
Méthodes d'accès |
|
Retourne l'élément du tableau situé à la position spécifiée |
|
Méthodes de comparaison |
|
Compare le tableau avec un autre tableau |
|
Opérations avec les tableaux triés |
|
Insére un élément dans un tableau trié |
|
Recherche un élément du tableau égal au modèle donné |
|
Cherche un élément supérieur à celui donné dans un tableau trié |
|
Cherche un élément inférieur à celui donné dans un tableau trié |
|
Cherche un élément supérieur ou égal à celui donné dans un tableau trié |
|
Cherche un élément inférieur ou égal à celui donné dans un tableau trié |
|
Cherche le premier élément égal au modèle dans un tableau trié |
|
Cherche le dernier élément égal au modèle dans un tableau trié |
|
Entrée/Sortie |
|
Sauvegarde le tableau de données dans un fichier |
|
Charge les données du tableau depuis un fichier. |
|
Retourne l'identifiant du type du tableau |
Méthodes héritées de la classe CObject Prev, Prev, Next, Next, Compare |
---|
Méthodes héritées de la classe CArray Step, Step, Total, Available, Max, IsSorted, SortMode, Clear, Sort |
Une application pratique des tableaux sont les descendants de la classe CObject (incluant toutes les classes de la bibliothèque standard).
Par exemple, considérons un tableau à 2 dimensions :
#include <Arrays\ArrayDouble.mqh>
|
Subtilités #
La classe possède un mécanisme de contrôle dynamique de la mémoire, veillez donc à faire attention lorsque vous travaillez avec des éléments dans un tableau.
Le mécanisme de gestion de la mémoire peut être activé ou désactivé en utilisant la méthode FreeMode (bool). Par défaut, le mécanisme est activé.
De la même façon, il y a deux options de gestion de la classe CArrayObj :
1. Mécanisme de gestion de la mémoire activé. (par défaut)
Dans ce cas, la classe CArrayObj prend la responsabilité de libérer les éléments de la mémoire après leur suppression du tableau. Dans ce mode, l'utilisateur ne devrait pas libérer les éléments d'un tableau.
Exemple :
int i;
|
2. Mécanisme de gestion de la mémoire désactivé.
Dans ce cas, la classe CArrayObj ne prend pas la responsabilité de libérer les éléments de la mémoire après leur suppression du tableau. Dans ce mode, l'utilisateur doit libérer les éléments d'un tableau.
Exemple :
int i;
|